program mı, script mi lazım?

eğer belirli bir ülke ziyaretçilerini (örnekte Türkiye kullanılmıştır.) tespit etmek istiyorsanız aşağıdaki fonksiyon işinizi görür.

<?php
function Turk_mu($url_csv){
$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, $url_csv);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
$str_fromfile = curl_exec($curl_handle);
curl_close($curl_handle);
$range = explode("\n", $str_fromfile);

$ip_addr = getenv(REMOTE_ADDR); 
$ip_byte = explode('.', $ip_addr);
$ip_number = (16777216 * (int) $ip_byte[0]) + (65536 * (int) $ip_byte[1]) + (256 * (int) $ip_byte[2]) + ((int) $ip_byte[3]);

for($i = 0; $range[$i] != NULL && $is_positive == NULL; $i++){ 
    $range[$i] = rtrim(ltrim($range[$i])); 
    $ends_addr = explode(',', $range[$i]); 
    $ends_addr[0] = rtrim($ends_addr[0]); 
    $ends_addr[1] = ltrim($ends_addr[1]); 
    $start_ip_byte = explode('.', $ends_addr[0]);
    $end_ip_byte = explode('.', $ends_addr[1]);
    $start_ip_number = (16777216 * (int) $start_ip_byte[0]) + (65536 * (int) $start_ip_byte[1]) + (256 * (int) $start_ip_byte[2]) + ((int) $start_ip_byte[3]);
    $end_ip_number = (16777216 * (int) $end_ip_byte[0]) + (65536 * (int) $end_ip_byte[1]) + (256 * (int) $end_ip_byte[2]) + ((int) $end_ip_byte[3]);
      
    if($ip_number >= $start_ip_number && $ip_number <= $end_ip_number)
            $is_positive = 1;
}
  
    if($is_positive == 1)
        return true;
    else
        return false;
}

if(Turk_mu('http://test.divxklip.net/turkey.txt') === true)
      echo 'Turkiye Ziyaretci';
?>
diğer ülke ip aralıklarını http://www.countryipblocks.net/ adresinde bulabilirsiniz.