php ip 库,php使用GeoIP库实例

php使用GeoIP库实例

需要注意的是maxmind是geoip数据库的提供方,就跟随百分网小编一起去了解下吧,想了解更多相关信息请持续关注我们应届毕业生考试网!同时也提供了很多语言的sample和api说明文档。

比如php,和php的.geoip库是有很大区别的,包含使用方式,接口函数。

php官方的geoip需要配置php环境,加载geoip.dll库,并在php.ini中指定GEOIP库地址。

maxmind提供一系列 .inc 和 .php 对环境无依赖,只要支持php,直接require后即可使用。

一、GEOIP数据库

http://dev.maxmind.com/geoip/geolite

细分到国家:GeoLite Country

细分到城市:GeoLite City

二、php官方geoip.dll库

下载dll http://windows.php.net/downloads/pecl/releases/geoip/1.0.8/

修改php.ini,启用geoip库:

复制代码 代码如下:extension=php_geoip.dll

追加geoip段,指定数据库位置:

复制代码 代码如下:[geoip]

geoip.custom_directory = "D:php5.3geo"

测试代码

注意geoip.dll中使用的 GeoIPCity.dat 即 GeoLiteCity.dat,用的时候注意看提示

复制代码 代码如下:

echo geoip_country_name_by_name( "8.8.8.8" ) . "n";

print_r( geoip_record_by_name( "8.8.8.8" ) );

echo geoip_country_name_by_name( "61.139.2.69" ). "n";

print_r( geoip_record_by_name( "61.139.2.69" ) );

三、MaxMind官方php文件函数库

文档和示例:http://dev.maxmind.com/geoip/downloadable

修改maxmind示例中 sample.php 和 sample_city.php 中 GeoIP.dat/GeoLiteCity.dat 路径为你自己的路径

同一目录用 “./GeoIP.dat” 或 “./GeoLiteCity.dat” 即可。

详细到国家

复制代码 代码如下:

include("geoip.inc");

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

echo geoip_country_code_by_addr($gi, "8.8.8.8") . "t" . geoip_country_name_by_addr($gi, "8.8.8.8") . "n";

echo geoip_country_code_by_addr($gi, "61.139.2.69") . "t" . geoip_country_name_by_addr($gi, "61.139.2.69") . "n";

geoip_close($gi);

详细到国家城市

复制代码 代码如下:

include("geoipcity.inc");

include("geoipregionvars.php");

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

$record = geoip_record_by_addr($gi,"8.8.8.8");

print $record->country_code . " " . $record->country_code3 . " " . $record->country_name . "n";

print $record->region . " " . $GEOIP_REGION_NAME[$record->country_code][$record->region] . "n";

print $record->city . "n";

print $record->postal_code . "n";

print $record->latitude . "n";

print $record->longitude . "n";

print $record->metro_code . "n";

print $record->area_code . "n";

print $record->continent_code . "n";

print "n-----n";

$record = geoip_record_by_addr($gi,"61.139.2.69");

print $record->country_code . " " . $record->country_code3 . " " . $record->country_name . "n";

print $record->region . " " . $GEOIP_REGION_NAME[$record->country_code][$record->region] . "n";

print $record->city . "n";

print $record->postal_code . "n";

print $record->latitude . "n";

print $record->longitude . "n";

print $record->metro_code . "n";

print $record->area_code . "n";

print $record->continent_code . "n";

geoip_close($gi);

看自己开发环境和具体情况决定用哪种

【php使用GeoIP库实例】相关文章:

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值