ip查询国家php,geoip+php示范:通过ip,获取国家名称和代码

geoip+php示例:通过ip,获取国家名称和代码

GeoIP + PHP的使用

方法一:

下载 GeoIP 的 PHP 文件geoip.inc,保存为 geoip.inc.php

http://sjolzy.cn/php/GeoIP/bak/geoip.inc

php使用代码

include("geoip.inc.php");

$gi = geoip_open("GeoIP.dat",GEOIP_STANDARD);

$country_code = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);

$country_name = geoip_country_name_by_addr($gi, $_SERVER['REMOTE_ADDR']);

geoip_close($gi);

$jsonEcho = array();

$jsonEcho["error"] = 0;

$jsonEcho["country_code"] = $country_code;

$jsonEcho["country_name"] = $country_name;

function jsonp($object, $callback = 'callback') {

if (!empty($_GET[$callback])) {

header('Content-Type: application/x-javascript');

} else {

header('Content-Type: application/json');

}

return $_GET[$callback].'('.json_encode($object).')';

}

echo jsonp($jsonEcho);

?>

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

方法二:

把 GeoIP 安装成 PHP 扩展

yum install GeoIP GeoIP-data GeoIP-devel

下载 GeoIP 数据库

wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz

gzip -d GeoLiteCity.dat.gz

mv GeoLiteCity.dat /var/lib/GeoIP/GeoIPCity.dat

下载 GeoIP 的 PECL 扩展

下载地址 http://pecl.php.net/package/geoip

wget -c http://pecl.php.net/get/geoip-1.0.7.tgz

tar -zxvf geoip-1.0.7.tgz

安 装 GeoIP 的 PECL 扩展

cd geoip-1.0.7

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config --with-geoip

make

make install

在 php.ini 里加上

extension=geoip.so

接着重启一下 php 就行了(nginx+php的情况,而apache+php就不用重启了)

现在,你可以使用 php 手册里的 GeoIP 部份函数了

http://cn.php.net/manual/en/book.geoip.php

参考:http://blog.csdn.net/prince2270/article/details/4592753

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值