geoip_db_filename

(PECL geoip >= 1.0.1)

geoip_db_filenameВозвращает имя файла соответствующей базы GeoIP

Описание

geoip_db_filename(int $database): string

Функция geoip_db_filename() возвращает имя файла соответствующей базы GeoIP.

Функция не определяет, существует ли файл на диске, только указывает путь, по которому библиотека ищет файл базы.

Список параметров

database

Тип базы определяется целым числом (integer). В параметр разрешается передавать предопределённые константы модуля (т. е. константы семейства: GEOIP_*_EDITION).

Возвращаемые значения

Функция возвращает имя файла соответствующей базы или null, если возникла ошибка.

Примеры

Пример #1 Пример использования функции geoip_db_filename()

Пример отображения имени файла текущей базы в виде строки.

<?php

print geoip_db_filename(GEOIP_COUNTRY_EDITION);

?>

Результат выполнения приведённого примера:

/usr/share/GeoIP/GeoIP.dat

add a note add a note

User Contributed Notes 1 note

up
-1
Loc d&#39;Anterroches
13 years ago
To quickly know which databases are available on your system:

<?php
$cst
= array(
            
'GEOIP_COUNTRY_EDITION' => GEOIP_COUNTRY_EDITION,
            
'GEOIP_REGION_EDITION_REV0' => GEOIP_REGION_EDITION_REV0,
            
'GEOIP_CITY_EDITION_REV0' => GEOIP_CITY_EDITION_REV0,
            
'GEOIP_ORG_EDITION' => GEOIP_ORG_EDITION,
            
'GEOIP_ISP_EDITION' => GEOIP_ISP_EDITION,
            
'GEOIP_CITY_EDITION_REV1' => GEOIP_CITY_EDITION_REV1,
            
'GEOIP_REGION_EDITION_REV1' => GEOIP_REGION_EDITION_REV1,
            
'GEOIP_PROXY_EDITION' => GEOIP_PROXY_EDITION,
            
'GEOIP_ASNUM_EDITION' => GEOIP_ASNUM_EDITION,
            
'GEOIP_NETSPEED_EDITION' => GEOIP_NETSPEED_EDITION,
            
'GEOIP_DOMAIN_EDITION' => GEOIP_DOMAIN_EDITION,
             );

foreach (
$cst as $k=>$v) {
    echo
$k.': '.geoip_db_filename($v).'  '.(geoip_db_avail($v) ? 'Available':'').'<br>';
}
?>

The only drawback of the PECL extension with respect to a pure PHP implementation is that you cannot select yourself where the database is. So, if you get a new version of the database, you need to put in the standard place and you may need root access to do so.
To Top