0

我对如何获取区域名称感到有些困惑,并且找不到任何文档。我在这个目录'...IP GeoLite\GeoLite'中安装了数据库'GeoIP.dat'和'geoip.inc',我还有一个用于测试\IP GeoLite\find.php的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 ;
?>
4

1 回答 1

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

于 2013-01-02T04:22:05.843 回答