2012-04-26 2 views
0

Я пытаюсь сделать журнал пользователей, направляющихся на мой сайт. Я хочу сохранить их IP-адреса, а также информацию о городе и стране.Как получить город и страну через IP-адрес в PHP

Спасибо заранее.

+0

Я узнал, что есть некоторые библиотеки PHP, которые выполняют некоторые из вышеперечисленных работ. Вы знаете кого-нибудь из них? – yusufiqbalpk

ответ

1

Вы можете получить IP-адрес от $_SERVER['REMOTE_ADDR']. Чтобы получить местоположение, вам нужно будет найти какую-то услугу, которая обеспечивает поиск и проверку IP-адреса, который вы только что собрали.

Возможно, вы также можете зарегистрироваться в Google Analytics.

+0

Я не предлагаю вам делать это вручную. Вы берете собранный IP и отправляете его внутри вашего PHP-скрипта в какой-либо webservice/api/library, а затем сохраняете этот ответ вместе с IP-адресом. Но лично я бы использовал только Google Analytics, но это зависит от ваших потребностей, конечно. – danneth

+0

Извините за это. Я думаю, что использование google analytics - лучшая идея, а затем длинная и длинная база данных для ip или полагающаяся на другие apis и libs, которые могут выполняться во время операции. Спасибо за ваш комментарий. Вы ответили первым и правым. Спасибо – yusufiqbalpk

+0

@yusufiqbalpk: Не беспокойтесь, я мог бы быть яснее. Что касается downvote, я не знаю ... – danneth

1

Думаю, вам стоит пойти на аналитику Google. Все эти данные вы получите оттуда. В противном случае для IP-адреса вы можете использовать этот скрипт

function getIP() { 
$ip; 
if (getenv("HTTP_CLIENT_IP")) 
$ip = getenv("HTTP_CLIENT_IP"); 
else if(getenv("HTTP_X_FORWARDED_FOR")) 
$ip = getenv("HTTP_X_FORWARDED_FOR"); 
else if(getenv("REMOTE_ADDR")) 
$ip = getenv("REMOTE_ADDR"); 
else 
$ip = "UNKNOWN"; 
return $ip; 
} 

& для названия страны

http://geoip.wtanaka.com/cc/$ipaddr 

это вернет код страны ISO.

0

Вводят ли пользователи свой город и страну? Если да, то легко сохранить данные в базе данных.

Или вы хотите отследить их по IP? Если это одно - скачайте/купите базу данных стран по ip от http://www.ip2country.net/download.html и только поместите IP в базу данных.

2

Попробуйте использовать базу данных MaxMind GeoIP, в которой я нахожу лучшее решение, которое свободно доступно. Он имеет множество методов для извлечения города и страны по IP и для получения IP-кода: $_SERVER['REMOTE_ADDR']

+0

вы избили меня, предложив MaxMind :) – djdy

Смежные вопросы