CNGEOIP 5 Модуль CNGeoip 5 предназначен для быстрого получения географических данных, таких как страна, область или штат, город, а также географических координат, по которым зарегистрирован IP-адрес. Информация предоставляется на трех языках: русском, английском, а также языке страны, в которой зарегистрирован IP-адрес. В некоторых случаях точное определение географической привязки IP-адреса невозможно. Например, пользователь выходит в интернет через GPRS Московского оператора сотовой связи, находясь при этом в Петербурге. Модуль CNGeoIP5 состоит из файлов базы данных: "cngeoip.dat", "cngeoip.txt", и файла с функциями на языке php - "cngeoip.php". Подробные примеры использования функций можно посмотреть в файле "example.php". Файл "cngeoip.dat" является бинарным файлом и используется в классе CNGeoIP. Файл "cngeoip.txt" в текстовом виде предоставляет информацию, хранящуюся в бинарном файле "cngeoip.dat". В классе CNGeoIP не используется, но может быть полезен пользователям. КЛАСС CNGeoIP Метод is_valid() - возвращает true, если экземпляр класса CNGeoIP успешно загрузил требуемые базы данных и false в противном случае. Если экземпляр не смог загрузить базы данных, то нижеуказанные методы будут возвращать false. Метод get_error() - возвращает текстовое значение ошибки, если экземпляр был создан с ошибкой. Метод get_place_by_ip($ip4) - возвращает текстовый идентификатор географического места. Например, "/RU/SZFO/53/NOV". В качестве аргумента указывается IPv4 адрес в форме "aaa.bbb.ccc.ddd". В случае, если адрес относится к одной из специальных сетей, возвращается название этой сети, например "Loopback". Метод get_description_by_place($place) - возвращает массив, содержащий подробную информацию о географическом месте. Элемент №0 содержит информацию о непосредственно месте, следующие элементы - о вышестоящих объектах, к которым относится место. Последним элементом идет страна. Каждый элемент является ассоциативным массивом, содержащим (не обязательно) следующие поля: * type: (city, town, village, country, region, federal region, cdp) * pop: численность населения * name_ru: название на русском языке * name_en: название на английском языке * name_??: название на других языках * lang: государственный язык (ru/en/ua) * lat: географическая широта * lon: географическая долгота Все данные, возвращаемые методом, представлены в кодировке UTF-8. Метод get_description_by_ip($ip) - является комбинацией вышеуказанных методов. Фактически вызывается как get_description_by_place(get_place_by_ip($ip)). Все данные, возвращаемые методом, представлены в кодировке UTF-8.