PHP: <? $ip = getenv('REMOTE_ADDR'); $content = @file_get_contents('http://ipgeo-base.ru/?address='.$ip.'&search=%C8%F1%EA%E0%F2%FC'); if(strpos($content, "Санкт-Петербург")){ echo 'из питера'; }else{ echo ' не из питера'; } ?> Работает
Через Remote Addr получаешь ип и через file get contents c сайта его парсишь и выводишь результат, например отсюда http://smart-ip.net/tools/geoip
К сожалению примера живого сейчас нет,но ссылка осталась: http://pecl.php.net/package/geoip Там и мануал где-то был!
PHP: <?php include("geoip.inc"); $gi = geoip_open("./GeoIP.dat",GEOIP_STANDARD); $ip = getenv("REMOTE_ADDR"); $code = geoip_country_code_by_addr($gi, $ip); geoip_close($gi); if($code == "RU") { echo "<script>document.location='http://www.mail.ru'</script>";} ?> Рабочий вариант=)
Не везде модуль geoip стоит PHP: <?php function CheckIP() { $ch = curl_init('http://api.hostip.info/get_html.php?ip='.$_SERVER['REMOTE_ADDR']); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $res = curl_exec($ch); if (preg_match('#Country: RUSSIAN FEDERATION (RU)#i', $res, $matches)) return true; else return false; } if(CheckIP()) { echo 'Превед медвед, ты из России.'; } else { echo 'Форбидден, акцесс тока русским.'; } ?>
у geoip есть модуль, а есть php файл(_ttp://geolite.maxmind.com/download/geoip/api/php/geoip.inc), который, больше ничего для работы не требует, проме GeoIP.dat. PHP: include("geoip.inc"); $gi = geoip_open("./GeoIP.dat",GEOIP_STANDARD); линк, с всеми файлами и примерами: _ttp://geolite.maxmind.com/download/geoip/api/php/