使用MaxMind的GeoLite获取区域名称

时间:2012-12-15 14:01:01

标签: php geoip ip-geolocation maxmind

我对如何获取区域名称感到困惑,但无法找到任何文档。 我安装了数据库'GeoIP.dat'和'geoip.inc'在这个目录'... IP GeoLite \ GeoLite'中,我还有一个php页面,用于测试\ IP GeoLite \ find.php 'find.php'页面中的代码是不起作用的:

<?php
/* Instead of having to determine the country of the client every time they visit the site we are going to set 
a cookie so that any other script in PHP or Javascript can use the region information. 
The user is also given a menu option to change the region and reset the cookie to a new value.
Likewise, if it already exists we don't want to change it.
We start off by checking that the cookie called Region exists. 
If it does, the job is nearly done and we simply set the $Region variable so that we can refresh 
the cookie at the end of the program by recreating it. */
 if(isset($_COOKIE['Region']))
 {
  $Region = $_COOKIE['Region'];
 }
 else
/* Only if the cookie isn't set do we do the actions in the else part of the if, 
so this makes the whole thing efficient.
To make use of the GeoLite code we have to load the include file: */
{ 
  $GeoPath= 'GeoLite/'; 
  include($GeoPath.'geoip.inc'); 
}
  $countrydata = GeoIP_region_name_by_code(gir->country_code, gir->region) ;
  echo $countrydata ;
?>

1 个答案:

答案 0 :(得分:0)

您必须先打开Geo IP二进制数据文件

// Open Geo IP binary data file
$geoIp = geoip_open($GeoPath.'GeoIP.dat',GEOIP_STANDARD);

请查看此文档http://www.maxmind.com/download/geoip/api/php.old/README

相关问题