• 03-09-2012, 22:39:36
    #1
    Arkadaşlar aşağıdaki kodu yazdım. Şöyle olsun istiyorum.

    Türkiye ise Türkiye yazısı
    İsveç ise İsveç yazısı
    İtalya ise İtalya yazısı

    3ünden biri değilse "boş sayfaya geldiniz" yazısı çıksın istiyorum.

    <?
    $ziyaretci_ip = getenv(REMOTE_ADDR); 
    $ziyaretci_yer = file("http://www.geoplugin.net/php.gp?ip=$ziyaretci_ip"); 
    $ziyaretci_yer = join ("", $ziyaretci_yer);
    if (eregi ("TR" == $ziyaretci_yer)) { echo 'Turkiye'; } 
    elseif("IT" == $ziyaretci_yer) { echo 'Italya'; } 
    elseif("SE" == $ziyaretci_yer) { echo 'Isvec'; } 
    else { echo 'hic biri';}
    ?>
  • 03-09-2012, 23:06:07
    #2
    <?php
    //by ZorbAA
    $ziyaretci_ip = $_SERVER['REMOTE_ADDR'];
    $adres = 'http://www.geoplugin.net/php.gp?ip='.$ziyaretci_ip;
    $a = file_get_contents($adres);
    $b = explode("geoplugin_countryCode", $a);
    $c = explode(":", $b[1]);
    $d = explode(";", $c[2]);
    $ulkekod = str_replace("\"", "", $d[0]);
    if ($ulkekod == "TR")
    {
    	echo 'Türkiye';
    }
    elseif ($ulkekod == "IT")
    {
    	echo 'İtalya';
    }
    elseif ($ulkekod == "SE")
    {
    	echo 'İsveç';
    }
    else
    {
    	echo 'Hiçbirisi';
    }
    ?>
  • 03-09-2012, 23:20:37
    #3
    ZorbAA adlı üyeden alıntı: mesajı görüntüle
    <?php
    //by ZorbAA
    $ziyaretci_ip = $_SERVER['REMOTE_ADDR'];
    $adres = 'http://www.geoplugin.net/php.gp?ip='.$ziyaretci_ip;
    $a = file_get_contents($adres);
    $b = explode("geoplugin_countryCode", $a);
    $c = explode(":", $b[1]);
    $d = explode(";", $c[2]);
    $ulkekod = str_replace("\"", "", $d[0]);
    if ($ulkekod == "TR")
    {
    	echo 'Türkiye';
    }
    elseif ($ulkekod == "IT")
    {
    	echo 'İtalya';
    }
    elseif ($ulkekod == "SE")
    {
    	echo 'İsveç';
    }
    else
    {
    	echo 'Hiçbirisi';
    }
    ?>
    Teşekkürler hocam. Peki hocam bunu cURL ile yapmak mümkün mü? file_get_contents bayağı bi zorluyor sunucuyu. Eğer size zahmet olmazsa?
  • 03-09-2012, 23:27:37
    #4
    hit arttığında bu her türlü sıkıntıya sokacaktır sizi, mod-geoip araştırın, direk apache yada nginx üzerinden bu işi halledebilirsiniz.
  • 03-09-2012, 23:30:13
    #5
    Misafir adlı üyeden alıntı: mesajı görüntüle
    Teşekkürler hocam. Peki hocam bunu cURL ile yapmak mümkün mü? file_get_contents bayağı bi zorluyor sunucuyu. Eğer size zahmet olmazsa?
    <?php
    $ziyaretci_ip = $_SERVER['REMOTE_ADDR'];
    $adres = 'http://www.geoplugin.net/php.gp?ip='.$ziyaretci_ip;
    $curl = curl_init($adres);
    $a = curl_exec($curl);
    $b = explode("geoplugin_countryCode", $a);
    $c = explode(":", $b[1]);
    $d = explode(";", $c[2]);
    $ulkekod = str_replace("\"", "", $d[0]);
    echo $ulkekod;
    if ($ulkekod == "TR")
    {
    	echo 'Türkiye';
    }
    elseif ($ulkekod == "IT")
    {
    	echo 'İtalya';
    }
    elseif ($ulkekod == "SE")
    {
    	echo 'İsveç';
    }
    else
    {
    	echo 'Hiçbirisi';
    }
    ?>
    Bu olur mu?
  • 04-09-2012, 00:00:25
    #6
    ZorbAA adlı üyeden alıntı: mesajı görüntüle
    <?php
    $ziyaretci_ip = $_SERVER['REMOTE_ADDR'];
    $adres = 'http://www.geoplugin.net/php.gp?ip='.$ziyaretci_ip;
    $curl = curl_init($adres);
    $a = curl_exec($curl);
    $b = explode("geoplugin_countryCode", $a);
    $c = explode(":", $b[1]);
    $d = explode(";", $c[2]);
    $ulkekod = str_replace("\"", "", $d[0]);
    echo $ulkekod;
    if ($ulkekod == "TR")
    {
    	echo 'Türkiye';
    }
    elseif ($ulkekod == "IT")
    {
    	echo 'İtalya';
    }
    elseif ($ulkekod == "SE")
    {
    	echo 'İsveç';
    }
    else
    {
    	echo 'Hiçbirisi';
    }
    ?>
    Bu olur mu?
    bu şekilde olmadı hocam bende denemiştim.

    Alıntı
    a:16:{s:17:"geoplugin_request";s:13:"176.90.23.132 ";s:16:"geoplugin_status";i:200;s:14:"geoplugin_ci ty";s:6:"Ankara";s:16:"geoplugin_region";s:15:"Ank ara Province";s:18:"geoplugin_areaCode";s:1:"0";s:17:" geoplugin_dmaCode";s:1:"0";s:21:"geoplugin_country Code";s:2:"TR";s:21:"geoplugin_countryName";s:6:"T urkey";s:23:"geoplugin_continentCode";s:2:"AS";s:1 8:"geoplugin_latitude";s:15:"39.911701202393";s:19 :"geoplugin_longitude";s:15:"32.840301513672";s:20 :"geoplugin_regionCode";s:2:"68";s:20:"geoplugin_r egionName";s:15:"Ankara Province";s:22:"geoplugin_currencyCode";s:3:"TRL"; s:24:"geoplugin_currencySymbol";s:7:"₤";s:27:"geop lugin_currencyConverter";N;}Hiçbirisi
    böyle bi çıktısı oluyo
  • 04-09-2012, 00:02:43
    #7
    Misafir adlı üyeden alıntı: mesajı görüntüle
    bu şekilde olmadı hocam bende denemiştim.



    böyle bi çıktısı oluyo
    Verdiğim kodu denediniz mi? Bana denemediniz gibi geliyor, çünkü o explode fonksiyonlarından sonra o çıktıyı vermesi mümkün değil. Üstelik localhost'ta denedim bu yazdığım kodları buraya koymadan önce, istenilen sonucu gayet güzel verdiler
  • 04-09-2012, 00:03:37
    #8
    Üyeliği durduruldu
    Misafir adlı üyeden alıntı: mesajı görüntüle
    bu şekilde olmadı hocam bende denemiştim.



    böyle bi çıktısı oluyo
    <?php
    $ziyaretci_ip = $_SERVER['REMOTE_ADDR'];
    $adres = 'http://www.geoplugin.net/php.gp?ip='.$ziyaretci_ip;
    $curl = curl_init($adres);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    $a = curl_exec($curl);
    $b = explode("geoplugin_countryCode", $a);
    $c = explode(":", $b[1]);
    $d = explode(";", $c[2]);
    $ulkekod = str_replace("\"", "", $d[0]);
    echo $ulkekod;
    if ($ulkekod == "TR")
    {
        echo 'Türkiye';
    }
    elseif ($ulkekod == "IT")
    {
        echo 'İtalya';
    }
    elseif ($ulkekod == "SE")
    {
        echo 'İsveç';
    }
    else
    {
        echo 'Hiçbirisi';
    }
    ?>
    Böyle deneyin
  • 04-09-2012, 00:05:26
    #9
    ZorbAA adlı üyeden alıntı: mesajı görüntüle
    Verdiğim kodu denediniz mi? Bana denemediniz gibi geliyor, çünkü o explode fonksiyonlarından sonra o çıktıyı vermesi mümkün değil. Üstelik localhost'ta denedim bu yazdığım kodları buraya koymadan önce, istenilen sonucu gayet güzel verdiler
    aynen verdiğin şekilde yaptım hocam aynı hata yine çıktı yani.