Иногда бывает нужно определить местоположение посетителя сайта для каких либо дальнейших действий. Если эти действия глобальнее, чем вывод карты или какой то информации, то лучше использовать для этого PHP, в противном случае, лучше подойдет JavaScript.

Как и в предыдущей заметке про геолокацию на JavaScript, воспользуемся сервисом ip-api.com.

Теперь о том, как что работает.

Данные берутся из 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

Успешный результат вернет данные:

Ошибочный:

Пример использования:

Пример:

Привет, посетитель из США, Колумбус!

Более подробную информацию можно найти в документации на сайте разработчика: ip-api.com

Смотрите также:

Определение координат и другой информации по IP адресу в JSON формате

Карта России с дополнительной информацией по субъектам

Отложенная загрузка скриптов на примере Яндекс Карты и виджета группы ВКонтакте

Добавить комментарий:

Ваш комментарий отправлен!

Комментарии:

  • Евгений:

    не надо. уже сделал

    Ответить
  • Евгений:

    Нет ли возможности развнуть ваш пример:

    <?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 км. А про Камышин я вообще не слышал.

    Ответить
    • Макс:

      Кажется, Камышин в Волгоградской области.

      Ответить
  • Vik:

    И сразу сюрприз: в примере определяется, что я в городе Vlaardingen, а это в ста километрах от меня. Так что точность кода так себе.... ((

    Ответить
    • Alexander:

      Это не точность кода, а точность сервиса ip-api.com

      Ответить