CNGEOIP 4

Модуль CNGeoip 4 предназначен для быстрого получения географических данных, таких
как страна, область или штат, город, а также географических координат, по которым
зарегистрирован IP-адрес. Информация предоставляется на трех языках: русском,
английском, а также языке страны, в которой зарегистрирован IP-адрес.

В некоторых случаях точное определение географической привязки IP-адреса
невозможно. Например, пользователь выходит в интернет через GPRS Московского
оператора сотовой связи, находясь при этом в Петербурге.

Модуль CNGeoip4 состоит из файла базы данных "cngeoip.dat" и файла с функциями на
языке php - "cngeoip.php". Подробные примеры использования функций можно
посмотреть в файлах "example_utf8.php" и "example_cp1251.php".



ОПИСАНИЕ ФУНКЦИЙ

cngeoip4array

cngeoip4array - Возвращает информацию о географическом расположении IP-адреса.

Описание

array cngeoip4array ( string ipaddress, string database_file )

Возвращает информацию о географическом расположении ip-адреса. Аргумент ipaddress
должен быть представлен в виде строки, состоящей из четырех десятичных чисел,
разделенных точками. Необязательный аргумент database_file позволяет выбрать
произвольный файл базы данных. В случае отсутствия аргумента database_file
используется файл базы данных cngeoip.dat, расположенный в той же директории, что
и cngeoip.php.

В случае ошибки функция возвращает массив, содержащий элемент с индексом 'error':
код ошибки.

В данной версии используются следующие значения кода ошибки:
    'invalid ip' - аргумент ipaddress не является корректно составленным
IP-адресом;
    'datafile not found' - файл базы данных не найден;
    'invalid datafile signature' - файл базы данных поврежден;
    'incompatible datafile version' - файл базы данных от другой версии модуля;

В случае успешного выполнения функции результат не содержит элемента с индексом
'error'.

В случае успешного выполнения функция возвращает массив из одного или более
элементов:
    [0] - описание зарезервированной сети, таких как loopback или IANA reserved.
Подробнее о зарезервированных сетях можно прочитать здесь:
http://www.iana.com/assignments/ipv4-address-space
В случае, если адрес не принадлежит одной из зарезервированных сетей, данный
элемент содержит пустую строку.
    [1] и последующие - содержат описание географического места. Как минимум это
описание страны. Если существует информация об области, провинции или штате, к
которому причислен IP-адрес, то далее следует информация об области, провинции
или штате. В последующих элементах может присутствовать информация о городе,
районе города и даже улице, к которой причислен IP-адрес. При этом элемент [0]
всегда содержит информацию о стране, и каждый последующий элемент содержит
информацию о более мелкой географической единице.

Каждый элемент с информацией о географической единице является массивом со
следующей структурой:
    [0] - тип географической единицы. Содержит один символ:
	'c' - страна
	'r' - область/штат/провинция
	't' - город
	'd' - район города
	's' - улица;
    [1] - название на национальном языке страны;
    [2] - название на английском языке;
    [3] - название на русском языке;
    [4] - географическая широта в градусах от -90 до 90. Положительные значения
    соответствуют северному полушарию, отрицательные - южному.
    [5] - географическая долгота в градусах от -180 до 180. Положительные
    значения соответствуют восточному полушарию, отрицательные - западному.
    [6] - краткий двух- или трехбуквенный код страны или штата.

В случае отсутствия информации о названии географической единицы или ее
коордитатах в соответствующих полях возвращаются пустые значения.

Функция не использует обращение к каким-либо внешним ресурсам.

Все данные, возвращаемые функцией, представлены в кодировке UTF-8.



cngeoip_lookup_ip

cngeoip_lookup_ip -- Возвращает информацию о географическом расположении
ip-адреса. Данная функция является устаревшей и используется только в целях
совместимости с программами, использовавшими предыдущие версии CNGeoip.
Фактически эта функция вызывает cngeoip4array и возвращает информацию в другом
виде.

Описание

array cngeoip_lookup_ip ( string ipaddress )

Возвращает информацию о географическом расположении ip-адреса. Аргумент ipaddress
должен быть представлен в виде строки, состоящей из четырех десятичных чисел,
разделенных точками.

Функция возвращает массив, состоящий из девяти элементов:
* Русскоязычное название города;
* Англоязычное название города;
* Двухбуквенный код страны по ISO;
* Географическая широта, в градусах;
* Географическая долгота, в градусах;
* Русскоязычное название страны;
* Англоязычное название страны;
* Русскоязычное название региона;
* Англоязычное название региона.

В случае, если отсутствует информация о названии города или о координатах города,
в соответствующих полях возвращаются пустые значения.

В случае, если информация об ip-адресе, включая информацию о стране, отсутствует,
во всех полях возвращаются пустые значения.

Функция не использует обращение к каким-либо внешним ресурсам. Для корректной
работы функции требуется размещение файла cngeoip.dat в том же каталоге, что и
файл cngeoip.php.

Все данные, возвращаемые функцией, представлены в кодировке UTF-8.



cngeoip4array1251

cngeoip4array1251 - Возвращает информацию о географическом расположении IP-адреса.

Описание

array cngeoip4array1251 ( string ipaddress, string database_file )

Функция полностью идентична функции cngeoip4array за исключением того, что
вся информация возвращается в кодировке cp1251.



cngeoip_lookup_ip_cp1251

cngeoip_lookup_ip_cp1251 -- Возвращает информацию в кодировке cp1251 о
географическом расположении ip-адреса.

Описание

array cngeoip_lookup_ip_cp1251 ( string ipaddress )

Функция полностью идентична функции cngeoip_lookup_ip за исключением того, что
вся информация возвращается в кодировке cp1251.



