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 ...
最新文章
- pat1094. The Largest Generation (25)
- IOS性能调优系列:使用Time Profiler发现性能瓶颈
- C语言 memset()函数(内存初始化函数)
- 第一次走绿道,从长岭陂到梅林水库
- linux文件管理和 对bash的理解
- 厦门信息计算机专业录取分数,厦门大学计算机类(含计算机科学与技术、智能科学与技术、网络专业2016年在福建理科高考录取最低分数线...
- Skywalking-01:Skywalking介绍
- eclipse插件svn账号信息清空重新登陆
- Matplotlib 中文用户指南 3.9 路径效果指南
- Android内核开发 Linux C编程调用内核模块设备驱动
- 坦克大战之声音处理类(四)
- WPE实际经验和实例
- 【pip command】之卸载 pip 之后重新安装
- C++之父谈C++语言设计规则
- 如何使用python 执行命令行传入的代码
- java主色调_主色调
- 今天我进了沼泽,总有一天我要走出来!
- jquery给按钮赋值_jQuery给div,Span, a ,button, radio 赋值与取值
- 在Linux服务器运行jar包并一直处于后台执行
- 今天睡眠质量记录67
热门文章
- <微机原理>[汇编语言]-[实验五] 定时器实验
- java final生命周期_Java中final局部变量的生命周期
- Daiwa Securities Co. Ltd. Programming Contest 2022 Autumn (AtCoder Beginner Contest 277) A~C题详细讲解
- Elasticsearch出现yellow,Unassigned节点的问题解决
- Silverlight4控件纯客户端注册验证
- 尝试用studyPE和x32dbg修改.exe文件01
- 三星gear vr 检测 触摸板滑动事件
- ALLOWED_HOSTS
- 关于windows 调试。托管,混合
- c 语言编程软件打开文件,VC WinExec打开指定程序或者文件的方法