Заметка для тех, кто хочет отображать территориальное положение своих посетителей.
Часто, разрабатывая сайт, нам необходимо отображать город посетителя сайта. Иногда это возможно сделать благодаря переменной $_SERVER, однако информация в ней присутствует не всегда или бывает неверной. Куда более точно определить текущий город и страну посетителя сайта можно с помощью IP адреса. На данный момент существует огромное количество бесплатных сервисов, которые предоставляют территориальную информацию по айпи адресу. Ниже я приведу код, получения страны, региона и города посетителя сайта с помощью одного из таких сервисов.
function getIpInfo($ip) { $curl = curl_init(); if($curl) { curl_setopt($curl, CURLOPT_URL, 'http://194.85.91.253:8090/geo/geo.html'); curl_setopt($curl, CURLOPT_POSTFIELDS, ""); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $response = curl_exec($curl); curl_close($curl); if (substr($response, 0, 5) == '<?xml') { $xml = new SimpleXMLElement($response); return $xml->ip; } } //Ошибка инициализации CURL, возможно у Вас не установлена библиотека return false; } $info = getIpInfo($_SERVER['REMOTE_ADDR']); echo $info->city; // город echo $info->region; // регион echo $info->district; // федеральный округ РФ $ip