Heim  >  Artikel  >  Backend-Entwicklung  >  php GeoIP库使用教程示例

php GeoIP库使用教程示例

WBOY
WBOYOriginal
2016-07-25 09:11:561267Durchsuche

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.net/package/geoip

  1. wget -c http://pecl.php.net/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 部份函数了。



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn