(PECL geoip >= 0.2.0)
geoip_record_by_name — Возвращает подробную информацию об адресе, найденном в базе GeoIP
Функция geoip_record_by_name() возвращает информацию об адресе, соответствующую имени хоста или IP адреса.
Функция доступна для бесплатной версии GeoLite City Edition и коммерческой GeoIP City Edition. Если необходимые базы отсутствует, выводится предупреждение.
Следующие имена ключей возвращаемого ассоциативного массива:
"continent_code" -- Двухбуквенный код континента (с версии 1.0.4 с libgeoip 1.4.3 или более новой)
"country_code" -- Двухбуквенный код страны (смотрите geoip_country_code_by_name())
"country_code3" -- Трёхбуквенный код страны (смотрите geoip_country_code3_by_name())
"country_name" -- Название страны (смотрите geoip_country_name_by_name())
"region" -- Код региона (например: CA для Калифорнии)
"city" -- Город.
"postal_code" -- Почтовый индекс, FSA или Zip-код
"latitude" -- Широта, число с плавающей точкой (float) без знака.
"longitude" -- Долгота, число с плавающей точкой (float) без знака.
"dma_code" -- Код рыночной зоны (Designated Market Area, DMA), только для США и Канады
"area_code" -- Код телефонной сети общего пользования (PSTN), например, 212
hostnameИмя хоста или IP-адрес, данные по которому должны быть получены.
Возвращает ассоциативный массив в случае успешного выполнения или false,
если адрес не может быть найден в базе.
| Версия | Описание |
|---|---|
| PECL geoip 1.0.4 | Добавлен код континента (continent_code) с GeoIP Library 1.4.3 или более новыми. |
| PECL geoip 1.0.3 | Добавлен трёхбуквенный код страны (country_code3) и название страны (country_name). |
Пример #1 Пример использования geoip_record_by_name()
Выведет массив, содержащий запись о хосте example.com.
<?php
$record = geoip_record_by_name('www.example.com');
if ($record) {
print_r($record);
}
?>Результат выполнения приведённого примера:
Array
(
[continent_code] => NA
[country_code] => US
[country_code3] => USA
[country_name] => United States
[region] => CA
[city] => Marina Del Rey
[postal_code] =>
[latitude] => 33.9776992798
[longitude] => -118.435096741
[dma_code] => 803
[area_code] => 310
)