Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Преобразовать ip-адреса в страну и город?
 
 автор: sasha12342   (03.03.2013 в 22:15)   письмо автору
 
 

Здравствуйте!
Есть таблица с пользователями (около 1000), у каждого пользователя свой ip. Возникла необходимость узнать страну и город по этим ip и записать их в дополнительные поля (strana, gorod).
Большинство скриптов которые я нашёл в интернете нерабочие а из рабочих, самый толковый, этот:
function occurrence($ip='', $to = 'windows-1251'){
$ip = ($ip) ? $ip : $_SERVER['REMOTE_ADDR'] ;
$xml =  simplexml_load_file('http://ipgeobase.ru:7020/geo?ip='.$ip);
if($xml->ip->message){
if( $to == 'utf-8' ) {return $xml->ip->message;} else {
if( function_exists( 'iconv' ) ) return iconv( "UTF-8", $to . "//IGNORE",$xml->ip->message);else return "The library iconv is not supported by your server";}
}else{if( $to == 'utf-8' ) {return $xml->ip->city;} else {if( function_exists( 'iconv' ) ) return iconv( "UTF-8", $to . "//IGNORE",$xml->ip->city);else return "The library iconv is not supported by your server";}}}
$gorod = occurrence($ip_user,'utf-8');
но он, к сожалению, вычисляет только города и те не все а только российские и украинские.
Посоветуйте какой-нибудь рабочий скрипт который выводит страну (любую) и город из ip пользователя.
И ещё, как вы думаете, такая реализация задуманного "пойдет" или надо оптимизировать:
 $x1 = mysql_query("SELECT ip,user FROM user_ip order by ip", $conn);
   while($x2 = mysql_fetch_array($x1)) 
   {
   $ip = $x2["ip"];
   $user = $x2["user"];

//Скрипт вычисления страны и города ($strana; $gorod;)

if ($strana!="" AND $gorod!="")
{
$sqlupdate = mysql_query("UPDATE user_ip SET strana = '$strana', gorod = '$gorod' WHERE user = '$user' ", $conn);
}
   }
Сколько, по времени, займет эта "перепись", не заблокирует ли меня сайт к которому будет обращаться скрипт за бомбардировку его запросами?
Заранее спасибо!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования