It should be noted that maxmind is the provider of geoip database,
It also provides sample and API documentation in many languages.
For example, PHP is very different from PHP's geoip library, including usage methods and interface functions.
PHP's official geoip needs to configure the PHP environment, load the geoip.dll library, and specify the GEOIP library address in php.ini.
maxmind provides a series of .inc and .php files that have no dependence on the environment. As long as they support php, they can be used directly after requiring.
1. GEOIP database
http://dev.maxmind.com/geoip/geolite
Broken down into countries: GeoLite Country
Segmented into cities: GeoLite City
2. PHP official geoip.dll library
Download dll http://windows.php.net/downloads/pecl/releases/geoip/1.0.8/
Modify php.ini and enable the geoip library:
Copy the code The code is as follows:
extension=php_geoip.dll
Append geoip segment and specify database location:
Copy code The code is as follows:
[geoip]
geoip.custom_directory = "D:php5.3geo"
Test code
Note that GeoIPCity.dat used in geoip.dll is GeoLiteCity.dat, and pay attention to the prompts when using it
Copy code The code is as follows:
echo geoip_country_name_by_name( "8.8.8.8" ) . "n";
print_r( geoip_record_by_name( "8.8.8.8" ) );
echo geoip_country_name_by_name( "61.139.2.69" ). "n";
print_r( geoip_record_by_name( "61.139.2.69" ) );
3. MaxMind official php file function library
Documentation and examples: http://dev.maxmind.com/geoip/downloadable
Modify the GeoIP.dat/GeoLiteCity.dat path in sample.php and sample_city.php in the maxmind example to be your own path
For the same directory, use “./GeoIP.dat” or “./GeoLiteCity.dat”.
Detailed to country
Copy code The code is as follows:
include("geoip.inc");
$gi = geoip_open( "./GeoIP.dat", GEOIP_STANDARD );
echo geoip_country_code_by_addr($gi, "8.8.8.8") . "t" . geoip_country_name_by_addr($gi, "8.8.8.8") . "n";
echo geoip_country_code_by_addr($gi, "61.139.2.69") . "t" . geoip_country_name_by_addr($gi, "61.139.2.69") . "n";
geoip_close($gi);
Detailed to country and city
Copy code The code is as follows:
include("geoipcity.inc");
include("geoipregionvars.php");
$gi = geoip_open("./GeoLiteCity.dat",GEOIP_STANDARD);
$record = geoip_record_by_addr($gi,"8.8.8.8");
print $record->country_code . " " . $record->country_code3 . " " . $record->country_name . "n";
print $record->region . " " . $GEOIP_REGION_NAME[$record->country_code][$record->region] . "n";
print $record->city . "n";
print $record->postal_code . "n";
print $record->latitude . "n";
print $record->longitude . "n";
print $record->metro_code . "n";
print $record->area_code . "n";
print $record->continent_code . "n";
print "n-----n";
$record = geoip_record_by_addr($gi,"61.139.2.69");
print $record->country_code . " " . $record->country_code3 . " " . $record->country_name . "n";
print $record->region . " " . $GEOIP_REGION_NAME[$record->country_code][$record->region] . "n";
print $record->city . "n";
print $record->postal_code . "n";
print $record->latitude . "n";
print $record->longitude . "n";
print $record->metro_code . "n";
print $record->area_code . "n";
print $record->continent_code . "n";
geoip_close($gi);
Decide which one to use depending on your development environment and specific circumstances
http://www.bkjia.com/PHPjc/824763.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/824763.htmlTechArticleIt should be noted that maxmind is the provider of geoip database and also provides sample and API documentation in many languages. . For example, php is very different from php's geoip library, including the use of...