Применение библиотеки nikolaevevgeGeoIp для определения геопозиции посетителя сайта

PHP не содержит встроенных средств определения геолокации посетителя сайта. Чтобы определить местоположение человека необходимо использовать одну из существующих для этих целей библиотек или сервисов. Такие сервисы определяют геоположение на основании IP-адреса посетителя по специальным справочникам.

В данной статье рассмотрим возможности и порядок использования одной из таких библиотек – nikolaevevgeGeoIp.

Возможности nikolaevevgeGeoIp

Скрипт способен определять страну, регион и город посетителя сайта по его IP-адресу. Для этого скрипт делает запрос на свой сервер со справочником адресов и возвращает ответ.

Важно отметить два момента:

  1. Используется кэширование информации. Таким образом если посетитель с тем же ip-адресом зайдет на сайт, для него уже не будет делаться запрос на сервер, что сэкономит время на обработку.
  2. Библиотека использует свой собственный справочник адресов. Что особенно актуально в последнее время из-за блокировок рядом зарубежных сервисов российских пользователей из-за санкций.

Поддерживаемые движки

В настоящий момент скрипт работает только на CRM:

  • WordPress,
  • Bitrix,
  • Joomla.

Библиотека автоматически определяет движок сайта и создает в базе данных таблицу с кэшированными данными. Указывать скрипту доступ к базе не нужно.

Подключение и использование nikolaevevgeGeoIp

Для использования библиотеки на своем сайте выполните следующие шаги:

  1. Скачайте скрипт со страницы http://blog.ivru.net/?id=82 и разместите его на своем сайте.
  2. Подключите скрипт в коде с помощью команды PHP require_once("nikolaevevgeGeoIp.php"); – у вас может быть свой путь до файла.
  3. Используйте функцию get для получения геолокации посетителя, как показано на примерах ниже.

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

Опишем более подробно получение геолокации с помощью nikolaevevgeGeoIp.
Для проверки работы скрипта разместите следующий код:

require_once("nikolaevevgegeoip.php");
$geoDataAr = nikolaevevgeGeoIp::get("88.85.172.134");
var_dump($geoDataAr);

На экране должна отобразиться информация об адресе 88.85.172.134. Вы можете как указывать адрес напрямую или, если адрес не указан, библиотека будет использовать IP посетителя сайта.

Функция get возвращает массив значений:

  1. country – код страны (например RU);
  2. region – регион на русском языке, например “Ивановская область”;
  3. regioncode – код региона, например “RU-IVA”;
  4. city – город на русском языке, например, “Иваново”;
  5. minipinstack – IP, с которого начинается стек адресов.
  6. maxipinstack – IP, которым заканчивается стек адресов;

Таким образом, чтобы получить, например, город посетителя, нужно использовать значение массива: $geoDataAr[city].

Описание некоторых дополнительных возможностей библиотеки можно найти на сайте https://serveradmin.ru/biblioteka-nikolaevevgegeoip/.

Понравилась статья? Поделись с друзьями:

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

* Нажимая на кнопку "Отправить" Вы соглашаетесь с политикой конфиденциальности.