Определение местоположения по IP на PHP



















Чтобы получить информацию о местоположении по ip на PHP– достаточно совершить несколько простых действий: сформировать и отправить запрос на специальный сервис и обработать его.

Пример кода:


/*О каком ip ищем информацию*/
$ip = '87.224.214.72';

/*получаем информацию о ip в виде xml-файла от сервиса ipgeobase.ru*/
$result = file_get_contents("http://ipgeobase.ru:7020/geo?ip=".$ip);

/*Формируем DOM-структуру из полученного xml*/
$xml = new SimpleXMLElement($result);
/*Выводим полученную информацию*/
echo "Информация об IP ".$xml->ip->attributes[0]."<br>";
echo "Сеть: ".$xml->ip->inetnum."<br>";
echo "Страна: ".$xml->ip->country."<br>";
echo "Город: ".$xml->ip->city."<br>";
echo "Область: ".$xml->ip->region."<br>";
echo "Округ: ".$xml->ip->district."<br>";
echo "Широта: ".$xml->ip->lat."<br>";
echo "Долгота: ".$xml->ip->lng."<br>";

Получается страница с таким результатом:


Информация об IP 87.224.214.72
Сеть: 87.224.191.0 - 87.224.255.255
Страна: RU
Город: Екатеринбург
Область: Свердловская область
Округ: Уральский федеральный округ
Широта: 56.837814
Долгота: 60.596844


Все просто!

2749   3  

Comments

  1. Kim Gaga
    Kim Gaga 5 лет назад
    It is very nice to read your site, thank you very much for your work, it’s great! If someone want to read in English, pls follow this -
    https://www.etutorialspoint.com/index.php/287-python-get-visitor-information-by-ip-address
  2. Asadbek
    Asadbek 4 года назад
    <p>Выводит ошибку</p>
  3. Евгений
    Евгений 4 года назад
    <p>В настоящее время сервис IpGeoBase который используется в приведённом коде больше не работает. Вот пример работающей реализации:</p>

    <p>&lt;?php<br />
    require_once("nikolaevevgeGeoIp.php");<br />
    $nikolaevevgeGeoIp = new nikolaevevgeGeoIp;<br />
    var_dump($nikolaevevgeGeoIp-&gt;get());//В этот метод Вы так же можете передать нужный IP-адрес в виде строки для получения его гео-информации</p>

    <p>Так же нужно скачать и разместить на хостинге файл библиотеки nikolaevevgeGeoIp.php взять его можно с сайта разработчика по ссылке: https://blog.ivru.net/?id=82</p>