php使用GeoIP库实例
2014-06-27 00:00
141 查看
需要注意的是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库:
追加geoip段,指定数据库位置:
测试代码
注意geoip.dll中使用的 GeoIPCity.dat 即 GeoLiteCity.dat,用的时候注意看提示
三、MaxMind官方php文件函数库
文档和示例:http://dev.maxmind.com/geoip/downloadable
修改maxmind示例中 sample.php 和 sample_city.php 中 GeoIP.dat/GeoLiteCity.dat 路径为你自己的路径
同一目录用 “./GeoIP.dat” 或 “./GeoLiteCity.dat” 即可。
详细到国家
详细到国家城市
看自己开发环境和具体情况决定用哪种
同时也提供了很多语言的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.3\geo\"
测试代码
注意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库实例
- 个人技术作品 - PHP 水印类及上传图片加水印结合使用的API及使用实例
- PHP时间戳使用实例代码
- php GeoIP的使用教程
- PHP实例:FCKeditor 的配置和使用方法
- PHPEXCEL使用实例
- Smarty实例教程之三:----实例篇( 使用PHP内置MYSQL函数)
- 使用zeng studio 创建的php调用webservice soap简单实例
- PHP实例:FCKeditor 的配置和使用方法
- snoopy 强大的PHP采集类使用实例代码
- 安装使用php zlib扩展实现页面gzip压缩输出实例
- PHP时间戳使用实例代码
- PHPEXCEL使用实例
- PHP 类 的使用[实例讲解]
- [PHP][使用PHPCxcel制作excel表格并导出文件的用法及成功实例[已验证][原创]
- PHP中MD5函数使用实例代码
- php AJAX POST的使用实例代码
- php使用smarty实例
- PHP随机数生成代码与使用实例分析
- 安装使用php zlib扩展实现页面gzip压缩输出实例