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. pat1094. The Largest Generation (25)
  2. IOS性能调优系列:使用Time Profiler发现性能瓶颈
  3. C语言 memset()函数(内存初始化函数)
  4. 第一次走绿道,从长岭陂到梅林水库
  5. linux文件管理和 对bash的理解
  6. 厦门信息计算机专业录取分数,厦门大学计算机类(含计算机科学与技术、智能科学与技术、网络专业2016年在福建理科高考录取最低分数线...
  7. Skywalking-01:Skywalking介绍
  8. eclipse插件svn账号信息清空重新登陆
  9. Matplotlib 中文用户指南 3.9 路径效果指南
  10. Android内核开发 Linux C编程调用内核模块设备驱动
  11. 坦克大战之声音处理类(四)
  12. WPE实际经验和实例
  13. 【pip command】之卸载 pip 之后重新安装
  14. C++之父谈C++语言设计规则
  15. 如何使用python 执行命令行传入的代码
  16. java主色调_主色调
  17. 今天我进了沼泽,总有一天我要走出来!
  18. jquery给按钮赋值_jQuery给div,Span, a ,button, radio 赋值与取值
  19. 在Linux服务器运行jar包并一直处于后台执行
  20. 今天睡眠质量记录67

热门文章

  1. <微机原理>[汇编语言]-[实验五] 定时器实验
  2. java final生命周期_Java中final局部变量的生命周期
  3. Daiwa Securities Co. Ltd. Programming Contest 2022 Autumn (AtCoder Beginner Contest 277) A~C题详细讲解
  4. Elasticsearch出现yellow,Unassigned节点的问题解决
  5. Silverlight4控件纯客户端注册验证
  6. 尝试用studyPE和x32dbg修改.exe文件01
  7. 三星gear vr 检测 触摸板滑动事件
  8. ALLOWED_HOSTS
  9. 关于windows 调试。托管,混合
  10. c 语言编程软件打开文件,VC WinExec打开指定程序或者文件的方法