Заметка для тех, кто хочет отображать территориальное положение своих посетителей.
Часто, разрабатывая сайт, нам необходимо отображать город посетителя сайта. Иногда это возможно сделать благодаря переменной $_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, "$ip ");
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; // федеральный округ РФ