Open In App

PHP | geoip_db_filename() Function

Last Updated : 13 Sep, 2018
Comments
Improve
Suggest changes
Like Article
Like
Report
The geoip_db_filename() function is an inbuilt function in PHP, which is used to generate the filename for corresponding GeoIP database accepted as a parameter. The function will not indicate the existence of file on the disk instead will just return the filename where the library is searching the database. Syntax:
string geoip_db_filename ( $database )
Parameter: This function accepts single parameter $database which is mandatory. The database type are integer. There are various predefined constants which are used as database listed below:
  • GEOIP_COUNTRY_EDITION
  • GEOIP_REGION_EDITION_REV0
  • GEOIP_CITY_EDITION_REV0
  • GEOIP_ORG_EDITION
  • GEOIP_ISP_EDITION
  • GEOIP_CITY_EDITION_REV1
  • GEOIP_REGION_EDITION_REV1
  • GEOIP_PROXY_EDITION
  • GEOIP_ASNUM_EDITION
  • GEOIP_NETSPEED_EDITION
  • GEOIP_DOMAIN_EDITION
The following constants are used for net speed:
  • GEOIP_UNKNOWN_SPEED
  • GEOIP_DIALUP_SPEED
  • GEOIP_CABLEDSL_SPEED
  • GEOIP_CORPORATE_SPEED
Return Value: This function returns the filename of the corresponding GeoIP database on success or NULL on failure/error. Below programs illustrate the geoip_db_filename() function in PHP: Program 1: php
<?php

// PHP code implementing the geoip_db_filename() function 

// The function takes the database and returns
//  the filename according to the database
print geoip_db_filename(GEOIP_COUNTRY_EDITION);
?>
Output:
/usr/share/GeoIP/GeoIP.dat
Program 2: php
<?php
$arr = array(
             'GEOIP_COUNTRY_EDITION' => GEOIP_COUNTRY_EDITION,
             'GEOIP_REGION_EDITION_REV1' => GEOIP_REGION_EDITION_REV1,
             'GEOIP_PROXY_EDITION' => GEOIP_PROXY_EDITION,
             'GEOIP_ASNUM_EDITION' => GEOIP_ASNUM_EDITION,
             'GEOIP_DOMAIN_EDITION' => GEOIP_DOMAIN_EDITION,
             'EOIP_UNKNOWN_SPEED' => GEOIP_UNKNOWN_SPEED,
             'GEOIP_DIALUP_SPEED' => GEOIP_DIALUP_SPEED,
             'GEOIP_CABLEDSL_SPEED' => GEOIP_CABLEDSL_SPEED,
             'GEOIP_CORPORATE_SPEED' => GEOIP_CORPORATE_SPEED
             );

foreach ($arr as $val) {
    echo geoip_db_filename($val) . (geoip_db_avail($val) ? 'Available':'') . '<br>';
}
?>
Output:
/usr/share/GeoIP/GeoIP.datAvailable
/usr/share/GeoIP/GeoIPRegion.dat
/usr/share/GeoIP/GeoIPProxy.dat
/usr/share/GeoIP/GeoIPASNum.dat
/usr/share/GeoIP/GeoIPDomain.dat

/usr/share/GeoIP/GeoIP.datAvailable
/usr/share/GeoIP/GeoIPCity.dat
/usr/share/GeoIP/GeoIPRegion.dat
Related Articles: Reference: http://php.net/manual/en/function.geoip-db-filename.php

Next Article

Similar Reads