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库实例】相关文章:

php ip 库,php使用GeoIP库实例相关推荐

  1. 淘宝网及新浪网等几大官方IP查询API接口地址库的调用及使用方法教程

    淘宝对外提供共享的一个IP地址库API,更新也比较及时,非常适合我们日常的使用. 以下讨论的是和淘宝网 IP查询 地址库 调用 API 相关的淘宝网及新浪网等几大官方IP查询API接口地址库的调用及使 ...

  2. jieba是python中一个重要的标准函数库_python——Jieba库整理(基础知识+实例)

    先上目录,1.Jieba库是什么 2.Jieba库的使用(常见方法及函数) 3.实例--英文文本解析和中文文本解析 1.Jieba库是什么 Jieba库是优秀的中文分词第三方库,中文文本需要通过分词获 ...

  3. apache madlib 教程_Apache顶级开源项目——机器学习库MADlib简介与应用实例

    原标题:Apache顶级开源项目--机器学习库MADlib简介与应用实例 Apache MADlib是Pivotal与UCBerkeley合作的一个开源机器学习库,提供了精确的数据并行实现.统计和机器 ...

  4. python小仙女_python——time库整理(基础知识+实例)

    先上目录, 1.Time库的作用2. Time库的使用3.实例 1.Time库的作用 time库是Python中处理时间的标准库 提供获取系统时间并格式化输出功能 提供系统级精确计时功能,用于程序性能 ...

  5. Python数模笔记-PuLP库(3)线性规划实例

    本节以一个实际数学建模案例,讲解 PuLP 求解线性规划问题的建模与编程. 1.问题描述 某厂生产甲乙两种饮料,每百箱甲饮料需用原料6千克.工人10名,获利10万元:每百箱乙饮料需用原料5千克.工人2 ...

  6. 两个处理IP好用的Python库ipaddr和netaddr

    Python中关于IP处理的两个模块 这里介绍的两个处理IP好用的Python库名为:ipaddr和netaddr 顺便提一个不好用的:IPy.上面两个能完全胜任这个库的功能,但这个库容错性不好,常报 ...

  7. python提取pdf文字_python基于pdfminer库提取pdf文字代码实例

    安装pdfminer 库 windows 下安装pdfminer3k pip install pdfminer3k Liunx 下安装pdfminer pip install pdfminer 代码 ...

  8. ios 静态库合成_iOS : 静态库(.framework)合并

    如果写了一个Framework,根据Build时选择的机器类型,会分为模拟器Framework和真机Framework,两者是不能混用的. 此时可以通过配置一个Run Script,在Script中使 ...

  9. sqlserver垮库查询_sql跨库查询(sqlserver跨库查询)

    sql跨库查询(sqlserver跨库查询) 2020-07-24 11:56:42 共10个回答 首先你的要求不明确..要是按照你的要求的话以下语句就可以解决了跨库中只要用.来表示就可以了db.ta ...

最新文章

  1. 深度报告:中国将主宰5G时代?华为中兴的最大机会来了
  2. ubuntu下制作u盘启动盘
  3. binlog关闭事务记录_Mysql 数据库 InnoDB引擎对binlog_format的限制
  4. 【Groovy】Groovy 脚本调用 ( Groovy 配置文件格式 | Groovy 配置文件读取 | 完整配置文件及解析代码示例 )
  5. T-SQL笔记6:GO
  6. F2工作流引擎之-纯JS Web在线可拖拽的流程设计器(八)
  7. Vue 左右翻页,点赞动画
  8. Java经纬度坐标与高斯坐标的转换
  9. Bug(四)——error LNK1112:模块计算机类型x86与目标计算机类型x64冲突
  10. pptp,l2tp获取登录用户信息用pppd参数即可
  11. grads插值_GrADS中格点插值到站点(gr2stn)的详细方法
  12. 简洁404页面源码 | 自适应404页面HTML源代码下载
  13. 史上z..zui难回答的26个问题(1)
  14. Unity3D——AR小游戏
  15. 【Vue基础七】--- 组件和模块概念
  16. python两个表格相同数据筛选_python筛选出两个文件中重复行的方法
  17. hadoop离线阶段(第十三节)数据仓库、hive简介、hive安装和hive的三种交互模式
  18. vue设置页面滚动高度_vue 解决无法设置滚动位置的问题
  19. cron定时任务详解
  20. 连续凸逼近(SCA)

热门文章

  1. 关于TCP使用上的一些总结
  2. dw连接mysql内部服务器错误_用dw(dreamweaver)开发asp.net,连接数据库时出现“http错误500,服务器内部错误”的解决方法 | 学步园...
  3. html input placeholder,HTML Input Text placeholder用法及代码示例
  4. ESWC 2018 | R-GCN:基于图卷积网络的关系数据建模
  5. 具有民族风采的韩国绒超纤皮绳
  6. PHPNOW添加虚拟主机(一个服务器多个域名)
  7. DIY个人智能家庭网关——硬件篇之433M无线接收解码器(一)
  8. 怎么优化网站首页+seo排名方案
  9. 下载win7/win8/win10镜像
  10. 高性价比真无线耳机哪款好?2022性价比蓝牙耳机推荐