Home > Backend Development > PHP Tutorial > PHP application GeoIP library example tutorial

PHP application GeoIP library example tutorial

WBOY
Release: 2016-07-25 09:12:01
Original
888 people have browsed it

php application GeoIP library example tutorial

Note 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. (php GeoIP library entry example)

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:

  1. extension=php_geoip.dll
Copy the code

Append the geoip segment and specify the database location:

  1. [geoip]
  2. geoip.custom_directory = "D:php5.3geo"
Copy code

Test code Note that GeoIPCity.dat used in geoip.dll is GeoLiteCity.dat. Pay attention to the prompts when using it.

  1. echo geoip_country_name_by_name( "8.8.8.8" ) . "n";
  2. print_r( geoip_record_by_name( "8.8.8.8" ) );
  3. echo geoip_country_name_by_name( "61.139.2.69" ). print_r ( geoip_record_by_name( "61.139.2.69" ) );
Copy code
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 your own path For the same directory, use “./GeoIP.dat” or “./GeoLiteCity.dat”.

1, detailed to the country

  1. include("geoip.inc");
  2. $gi = geoip_open( "./GeoIP.dat", GEOIP_STANDARD );
  3. echo geoip_country_code_by_addr($gi, "8.8.8.8") . "t" . geoip_country_name_by_addr($gi, "8.8.8.8") . "n";
  4. echo geoip_country_code_by_addr($gi, "61.139.2.69") . "t" . geoip_country_name_by_addr($gi, "61.139.2.69") . "n";
  5. geoip_close($gi);
Copy code
2, details to country and city

  1. include("geoipcity.inc");
  2. include("geoipregionvars.php");
  3. $gi = geoip_open("./GeoLiteCity.dat",GEOIP_STANDARD);
  4. $record = geoip_record_by_addr($ gi,"8.8.8.8");
  5. print $record->country_code . " " . $record->country_code3 . " " . $record->country_name . "n";
  6. print $record->region . " " . $GEOIP_REGION_NAME[$record->country_code][$record->region] . "n";
  7. print $record->city . "n";
  8. print $record->postal_code . " n";
  9. print $record->latitude . "n";
  10. print $record->longitude . "n";
  11. print $record->metro_code . "n";
  12. print $record->area_code . "n";
  13. print $record->continent_code . "n";
  14. print "n-----n";
  15. $record = geoip_record_by_addr($gi,"61.139.2.69");
  16. print $ record->country_code . " " . $record->country_code3 . " " . $record->country_name . "n";
  17. print $record->region . " " . $GEOIP_REGION_NAME[$record-> country_code][$record->region] . "n";
  18. print $record->city . "n";
  19. print $record->postal_code . "n";
  20. print $record->latitude . "n";
  21. print $record->longitude . "n";
  22. print $record->metro_code . "n";
  23. print $record->area_code . "n";
  24. print $record-> continent_code . "n";
  25. geoip_close($gi);
Copy code
When using the above code, you can decide which one to use based on the development environment and specific conditions.


Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template