当前位置:Gxlcms > PHP教程 > phpGeoIP库使用教程示例

phpGeoIP库使用教程示例

时间:2021-07-01 10:21:17 帮助过:10人阅读

php GeoIP库使用教程

什么是GepIP ? 所谓GeoIP,就是通过来访者的IP, 定位他的经纬度,国家/地区,省市,甚至街道等位置信息。这里面的技术不算难题,关键在于有个精准 的数据库。有了准确的数据源就奇货可居赚点小钱,可是发扬合作精神,集体贡献众人享用是我们追求的。

GeoIP如何使用? 首先我们需要数据信息,所以先获取一个免费的数据库:GeoIP.dat.gz ,接着解压得到:GeoIP.dat, 然后就是对数据文件的按需操作,这边范例使用的是PHP。 GeoIP + PHP的使用

方法一: 下载 GeoIP 的 PHP 文件geoip.inc。打包下载

  1. include("geoip.inc.php");
  2. // 打开数据文件
  3. $gi = geoip_open("GeoIP.dat",GEOIP_STANDARD);
  4. // 获取国家代码
  5. $country_code = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);
  6. echo "Your country code is: $country_code ";
  7. // 获取国家名称
  8. $country_name = geoip_country_name_by_addr($gi, $_SERVER['REMOTE_ADDR']);
  9. echo "Your country name is: $country_name ";
  10. // 关闭文件
  11. geoip_close($gi);

注:在本地测试的话因 为$_SERVER['REMOTE_ADDR']和$_SERVER['REMOTE_ADDR']可能是127.0.0.1,所 以输出的内容为空。可以自己带入IP测试

方法二: 把 GeoIP 安装成 PHP 扩展

  1. yum install GeoIP GeoIP-data GeoIP-devel

下载 GeoIP 数据库

  1. wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
  2. gzip -d GeoLiteCity.dat.gz
  3. mv GeoLiteCity.dat /var/lib/GeoIP/GeoIPCity.dat

下载 GeoIP 的 PECL 扩展 下载地址 http://pecl.php.com/package/geoip

  1. wget -c http://pecl.php.com/get/geoip-1.0.7.tgz
  2. tar -zxvf geoip-1.0.7.tgz

安 装 GeoIP 的 PECL 扩展

  1. cd geoip-1.0.7
  2. /usr/local/php/bin/phpize
  3. ./configure --with-php-config=/usr/local/php/bin/php-config --with-geoip
  4. make
  5. make install

在 php.ini 里加上 extension=geoip.so 接着重启下 php 就行了。

然后,就可以使用 php 手册中 GeoIP 部份函数了。

人气教程排行