当前位置:  编程技术>php

php应用GeoIP库实例教程

    来源: 互联网  发布时间:2014-08-30

    本文导语:  php应用GeoIP库实例教程 注意,maxmind是geoip数据库的提供方, 同时也提供了很多语言的sample和api说明文档。 比如php,和php的geoip库是有很大区别的,包含使用方式,接口函数。 php官方的geoip需要配置php环境,加载geoip.dll库,并...

php应用GeoIP库实例教程

注意,maxmind是geoip数据库的提供方,
同时也提供了很多语言的sample和api说明文档。
比如php,和php的geoip库是有很大区别的,包含使用方式,接口函数。
php官方的geoip需要配置php环境,加载geoip.dll库,并在php.ini中指定GEOIP库地址。
maxmind提供一系列 .inc 和 .php 对环境无依赖,只要支持php,直接require后即可使用。(php GeoIP库入门实例)

一、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” 即可。

1,详细到国家
 

代码示例:
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);

2,详细到国家城市
 

代码示例:
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 session_id()函数介绍及代码实例
  • php 小数点取法实例总结
  • php生成透明背景图片实例
  • php防止sql注入代码实例
  • php逐字拆分字符串 php字符串拆分实例
  • php解析json数据实例
  • php定界符<<<使用技巧和实例
  • php读取sqlite数据库入门实例
  • PHP文件锁定写入实例解析
  • php读取mysql数据库入门实例
  • php生成excel列序号代码实例
  • PHP三元运算的2种写法代码实例
  • PHP接收二进制流并生成文件(实例)
  • php读取mysql入门实例
  • php根据身份证号码计算年龄的实例代码
  • php如何模拟处理http put请求?实例教程 iis7站长之家
  • php实例分享之html转为rtf格式
  • php文件锁定写入实例教程
  • PHP创建桌面快捷方式的实例代码
  • php 强制下载文件实例代码
  • php mailto配置实例
  • PHP 应用跟踪诊断程序 PHP Debug
  • PHP应用框架 PHP Mushroom
  • PHP应用开发框架 PHP Ding
  • PHP Web 应用框架 Tigermouse
  • PHP 应用路由库 Link
  • 开源的统计应用程序 PHP Web Stat
  • PHP应用服务器 Zend Server
  • PHP 应用框架 MODx
  • PHP应用程序开发框架 CMSPAD
  • 羽量级PHP应用程序开发框架 WANGFRAME
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • php模拟登录 php curl模拟登录教程大全
  • 神盾加密解密教程(三)PHP 神盾解密工具
  • windows7下安装php的php-ssh2扩展教程
  • PHP打印杨辉三角图文教程
  • PHP Session会话超时时间设置方法教程
  • php如何获取客户端分辨率?实例教程
  • php_screw安装使用教程(另一个PHP代码加密实现)
  • php操作MongoDB基础教程(连接、新增、修改、删除、查询)
  • php的declare控制符和ticks教程(附示例)
  • php trim函数定义与语法教程
  • PHP+Ajax检测用户名或邮件注册时是否已经存在实例教程
  • php GeoIP库使用教程示例
  • php教程之phpize用法分享
  • php下载xls文件实例教程
  • php教程之phpize使用方法
  • php5.3 goto函数怎么用?实例教程
  • windows7下安装php的imagick和imagemagick扩展教程
  • php如何模拟处理http put请求?实例教程
  • php教程之多进程实例(2)
  • PHP小教程之实现双向链表
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • IIS7配置PHP图解(IIS7+PHP_5.2.17/PHP_5.3.5)
  • PHP 5.4.19 和 PHP 5.5.3 发布及下载地址
  • php输入流php://input使用示例(php发送图片流到服务器)
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • PHP转换器 HipHop for PHP
  • PHP去除html标签,php标记及css样式代码参考
  • PHP 框架 Pop php
  • PHP 'ext/soap/php_xml.c'不完整修复存在多个任意文件泄露漏洞
  • PHP的JavaScript框架 PHP.JS
  • php通过socket_bind()设置IP地址代码示例


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3