Теперь о том, как что работает.
Данные берутся из GET запроса по адресу: http://ip-api.com/php/ для текущего IP, http://ip-api.com/php/208.80.152.201 для конкретного или http://ip-api.com/php/atuin.ru для домена.
Для получения данных на русском языке используем запрос: http://ip-api.com/php/?lang=ru
Успешный результат вернет данные:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
array ( 'status' => 'success', 'country' => 'COUNTRY', 'countryCode' => 'COUNTRY CODE', 'region' => 'REGION CODE', 'regionName' => 'REGION NAME', 'city' => 'CITY', 'zip' => ZIP CODE, 'lat' => LATITUDE, 'lon' => LONGITUDE, 'timezone' => 'TIME ZONE', 'isp' => 'ISP NAME', 'org' => 'ORGANIZATION NAME', 'as' => 'AS NUMBER / NAME', 'query' => 'IP ADDRESS USED FOR QUERY', ) |
Ошибочный:
|
1 2 3 4 5 |
array ( 'status' => 'fail', 'message' => 'ERROR MESSAGE', 'query' => 'IP ADDRESS USED FOR QUERY', ) |
Пример использования:
|
1 2 3 4 5 6 7 8 9 |
<?php $ip = $_SERVER['REMOTE_ADDR']; $query = @unserialize(file_get_contents('http://ip-api.com/php/'.$ip.'?lang=ru')); if($query && $query['status'] == 'success') { echo 'Привет, посетитель из '.$query['country'].', '.$query['city'].'!'; } else { echo 'Не удалось определить локацию'; } ?> |
Пример:
Более подробную информацию можно найти в документации на сайте разработчика: ip-api.com

не надо. уже сделал
Нет ли возможности развнуть ваш пример:
<?php
$ip = $_SERVER['REMOTE_ADDR'];
$query = @unserialize(file_get_contents('http://ip-api.com/php/'.$ip.'?lang=ru'));
if($query && $query['status'] == 'success') {
echo 'Привет, посетитель из '.$query['country'].', '.$query['city'].'!';
} else {
echo 'Не удалось определить локацию';
}
?>
на все определяемые параметры?
Скольок запросов в месяц может обрабатать эта программа? Есть ли какое-либо огрнаичение на количество обрабатываемых запросов в месяц, а год или всего?
Точность совсем никакая. У меня показало что я в Камышено, я даже не знаю где это. А я в Ростовской области. У нас сервисы часто показывают Краснодарский край, но это то хоть рядом, примерно 60 км. А про Камышин я вообще не слышал.
Кажется, Камышин в Волгоградской области.
И сразу сюрприз: в примере определяется, что я в городе Vlaardingen, а это в ста километрах от меня. Так что точность кода так себе.... ((
Это не точность кода, а точность сервиса ip-api.com