Я пытаюсь сделать журнал пользователей, направляющихся на мой сайт. Я хочу сохранить их IP-адреса, а также информацию о городе и стране.Как получить город и страну через IP-адрес в PHP
Спасибо заранее.
Я пытаюсь сделать журнал пользователей, направляющихся на мой сайт. Я хочу сохранить их IP-адреса, а также информацию о городе и стране.Как получить город и страну через IP-адрес в PHP
Спасибо заранее.
Вы можете получить IP-адрес от $_SERVER['REMOTE_ADDR']
. Чтобы получить местоположение, вам нужно будет найти какую-то услугу, которая обеспечивает поиск и проверку IP-адреса, который вы только что собрали.
Возможно, вы также можете зарегистрироваться в Google Analytics.
Я не предлагаю вам делать это вручную. Вы берете собранный IP и отправляете его внутри вашего PHP-скрипта в какой-либо webservice/api/library, а затем сохраняете этот ответ вместе с IP-адресом. Но лично я бы использовал только Google Analytics, но это зависит от ваших потребностей, конечно. – danneth
Извините за это. Я думаю, что использование google analytics - лучшая идея, а затем длинная и длинная база данных для ip или полагающаяся на другие apis и libs, которые могут выполняться во время операции. Спасибо за ваш комментарий. Вы ответили первым и правым. Спасибо – yusufiqbalpk
@yusufiqbalpk: Не беспокойтесь, я мог бы быть яснее. Что касается downvote, я не знаю ... – danneth
Думаю, вам стоит пойти на аналитику 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.
Вводят ли пользователи свой город и страну? Если да, то легко сохранить данные в базе данных.
Или вы хотите отследить их по IP? Если это одно - скачайте/купите базу данных стран по ip от http://www.ip2country.net/download.html и только поместите IP в базу данных.
Попробуйте использовать базу данных MaxMind GeoIP, в которой я нахожу лучшее решение, которое свободно доступно. Он имеет множество методов для извлечения города и страны по IP и для получения IP-кода: $_SERVER['REMOTE_ADDR']
вы избили меня, предложив MaxMind :) – djdy
Я узнал, что есть некоторые библиотеки PHP, которые выполняют некоторые из вышеперечисленных работ. Вы знаете кого-нибудь из них? – yusufiqbalpk