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库实例】相关文章:
php ip 库,php使用GeoIP库实例相关推荐
- 淘宝网及新浪网等几大官方IP查询API接口地址库的调用及使用方法教程
淘宝对外提供共享的一个IP地址库API,更新也比较及时,非常适合我们日常的使用. 以下讨论的是和淘宝网 IP查询 地址库 调用 API 相关的淘宝网及新浪网等几大官方IP查询API接口地址库的调用及使 ...
- jieba是python中一个重要的标准函数库_python——Jieba库整理(基础知识+实例)
先上目录,1.Jieba库是什么 2.Jieba库的使用(常见方法及函数) 3.实例--英文文本解析和中文文本解析 1.Jieba库是什么 Jieba库是优秀的中文分词第三方库,中文文本需要通过分词获 ...
- apache madlib 教程_Apache顶级开源项目——机器学习库MADlib简介与应用实例
原标题:Apache顶级开源项目--机器学习库MADlib简介与应用实例 Apache MADlib是Pivotal与UCBerkeley合作的一个开源机器学习库,提供了精确的数据并行实现.统计和机器 ...
- python小仙女_python——time库整理(基础知识+实例)
先上目录, 1.Time库的作用2. Time库的使用3.实例 1.Time库的作用 time库是Python中处理时间的标准库 提供获取系统时间并格式化输出功能 提供系统级精确计时功能,用于程序性能 ...
- Python数模笔记-PuLP库(3)线性规划实例
本节以一个实际数学建模案例,讲解 PuLP 求解线性规划问题的建模与编程. 1.问题描述 某厂生产甲乙两种饮料,每百箱甲饮料需用原料6千克.工人10名,获利10万元:每百箱乙饮料需用原料5千克.工人2 ...
- 两个处理IP好用的Python库ipaddr和netaddr
Python中关于IP处理的两个模块 这里介绍的两个处理IP好用的Python库名为:ipaddr和netaddr 顺便提一个不好用的:IPy.上面两个能完全胜任这个库的功能,但这个库容错性不好,常报 ...
- python提取pdf文字_python基于pdfminer库提取pdf文字代码实例
安装pdfminer 库 windows 下安装pdfminer3k pip install pdfminer3k Liunx 下安装pdfminer pip install pdfminer 代码 ...
- ios 静态库合成_iOS : 静态库(.framework)合并
如果写了一个Framework,根据Build时选择的机器类型,会分为模拟器Framework和真机Framework,两者是不能混用的. 此时可以通过配置一个Run Script,在Script中使 ...
- sqlserver垮库查询_sql跨库查询(sqlserver跨库查询)
sql跨库查询(sqlserver跨库查询) 2020-07-24 11:56:42 共10个回答 首先你的要求不明确..要是按照你的要求的话以下语句就可以解决了跨库中只要用.来表示就可以了db.ta ...
最新文章
- 深度报告:中国将主宰5G时代?华为中兴的最大机会来了
- ubuntu下制作u盘启动盘
- binlog关闭事务记录_Mysql 数据库 InnoDB引擎对binlog_format的限制
- 【Groovy】Groovy 脚本调用 ( Groovy 配置文件格式 | Groovy 配置文件读取 | 完整配置文件及解析代码示例 )
- T-SQL笔记6:GO
- F2工作流引擎之-纯JS Web在线可拖拽的流程设计器(八)
- Vue 左右翻页,点赞动画
- Java经纬度坐标与高斯坐标的转换
- Bug(四)——error LNK1112:模块计算机类型x86与目标计算机类型x64冲突
- pptp,l2tp获取登录用户信息用pppd参数即可
- grads插值_GrADS中格点插值到站点(gr2stn)的详细方法
- 简洁404页面源码 | 自适应404页面HTML源代码下载
- 史上z..zui难回答的26个问题(1)
- Unity3D——AR小游戏
- 【Vue基础七】--- 组件和模块概念
- python两个表格相同数据筛选_python筛选出两个文件中重复行的方法
- hadoop离线阶段(第十三节)数据仓库、hive简介、hive安装和hive的三种交互模式
- vue设置页面滚动高度_vue 解决无法设置滚动位置的问题
- cron定时任务详解
- 连续凸逼近(SCA)
热门文章
- 关于TCP使用上的一些总结
- dw连接mysql内部服务器错误_用dw(dreamweaver)开发asp.net,连接数据库时出现“http错误500,服务器内部错误”的解决方法 | 学步园...
- html input placeholder,HTML Input Text placeholder用法及代码示例
- ESWC 2018 | R-GCN:基于图卷积网络的关系数据建模
- 具有民族风采的韩国绒超纤皮绳
- PHPNOW添加虚拟主机(一个服务器多个域名)
- DIY个人智能家庭网关——硬件篇之433M无线接收解码器(一)
- 怎么优化网站首页+seo排名方案
- 下载win7/win8/win10镜像
- 高性价比真无线耳机哪款好?2022性价比蓝牙耳机推荐