php GeoIP的使用教程


Posted in PHP onMarch 09, 2011

GeoIP介绍:
什么是GepIP ?
所谓GeoIP,就是通过来访者的IP, 定位他的经纬度,国家/地区,省市,甚至街道等位置信息。这里面的技术不算难题,关键在于有个精准 的数据库。有了准确的数据源就奇货可居赚点小钱,可是发扬合作精神,集体贡献众人享用是我们追求的。
GeoIP如何使用?
首先我们需要数据信息,所以先获取一个免费的数据库:GeoIP.dat.gz ,接着解压得到:GeoIP.dat, 然后就是对数据文件的按需操作,这边范例使用的是PHP。
GeoIP + PHP的使用
方法一:
下载 GeoIP 的 PHP 文件geoip.inc。打包下载

include("geoip.inc.php"); 
// 打开数据文件 
$gi = geoip_open("GeoIP.dat",GEOIP_STANDARD); 
// 获取国家代码 
$country_code = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']); 
echo "Your country code is: $country_code "; 
// 获取国家名称 
$country_name = geoip_country_name_by_addr($gi, $_SERVER['REMOTE_ADDR']); 
echo "Your country name is: $country_name "; 
// 关闭文件 
geoip_close($gi);

注:在本地测试的话因 为$_SERVER['REMOTE_ADDR']和$_SERVER['REMOTE_ADDR']可能是127.0.0.1,所 以输出的内容为空。可以自己带入IP测试

方法二:
把 GeoIP 安装成 PHP 扩展
yum install GeoIP GeoIP-data GeoIP-devel

下载 GeoIP 数据库
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
gzip -d GeoLiteCity.dat.gz
mv GeoLiteCity.dat /var/lib/GeoIP/GeoIPCity.dat

下载 GeoIP 的 PECL 扩展
下载地址 http://pecl.php.net/package/geoip
wget -c http://pecl.php.net/get/geoip-1.0.7.tgz
tar -zxvf geoip-1.0.7.tgz

安 装 GeoIP 的 PECL 扩展
cd geoip-1.0.7
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-geoip
make
make install

在 php.ini 里加上
extension=geoip.so
接着重启一下 php 就行了
现在,你可以使用 php 手册里的 GeoIP 部份函数了

PHP 相关文章推荐
解析PHP中常见的mongodb查询操作
Jun 20 PHP
phpphp图片采集后按原路径保存图片示例
Feb 18 PHP
ThinkPHP采用实现三级循环代码实例
Jul 18 PHP
php生成随机颜色方法汇总
Dec 03 PHP
php获取发送给用户的header信息的方法
Mar 16 PHP
详解Grunt插件之LiveReload实现页面自动刷新(两种方案)
Jul 31 PHP
在CentOS上搭建LAMP+vsftpd环境的简单指南
Aug 01 PHP
PHP如何通过传引用的思想实现无限分类(代码简单)
Oct 13 PHP
WordPress中获取页面链接和标题的相关PHP函数用法解析
Dec 17 PHP
将PHP的session数据存储到数据库中的代码实例
Jun 24 PHP
PHP编程中的Session阻塞问题与解决方法分析
Aug 07 PHP
在laravel5.2中实现点击用户头像更改头像的方法
Oct 14 PHP
让PHP COOKIE立即生效,不用刷新就可以使用
Mar 09 #PHP
通过JavaScript或PHP检测Android设备的代码
Mar 09 #PHP
PHP中uploaded_files函数使用方法详解
Mar 09 #PHP
PHP $_FILES函数详解
Mar 09 #PHP
PHP中for与foreach的区别分析
Mar 09 #PHP
php模板中出现空行解决方法
Mar 08 #PHP
在MongoDB中模拟Auto Increment的php代码
Mar 06 #PHP
You might like
Discuz 5.0 中读取纯真IP数据库函数分析
2007/03/16 PHP
PHP正则表达式之捕获组与非捕获组
2015/11/06 PHP
php基于数组函数实现关联表的编辑操作示例
2017/07/04 PHP
基于PHP实现解密或加密Cloudflar邮箱保护
2020/06/24 PHP
jQuery html()等方法介绍
2009/11/18 Javascript
基于JQuery的asp.net树实现代码
2010/11/30 Javascript
关于二级域名下使用一级域名下的COOKIE的问题
2011/11/07 Javascript
javascript中判断json的方法总结
2015/08/27 Javascript
jQuery鼠标事件汇总
2015/08/30 Javascript
javascript数据结构之二叉搜索树实现方法
2015/11/25 Javascript
jQuery Validate让普通按钮触发表单验证的方法
2016/12/15 Javascript
Angular学习教程之RouterLink花式跳转
2018/05/03 Javascript
Vue项目中Api的组织和返回数据处理的操作
2019/11/04 Javascript
Echarts实现多条折线可拖拽效果
2019/12/19 Javascript
vue3.0 上手体验
2020/09/21 Javascript
详解Python的Django框架中的模版相关知识
2015/07/15 Python
Python实现查找字符串数组最长公共前缀示例
2019/03/27 Python
Python批量删除只保留最近几天table的代码实例
2019/04/01 Python
selenium WebDriverWait类等待机制的实现
2020/03/18 Python
针对HTML5的Web Worker使用攻略
2015/07/12 HTML / CSS
HTML5+WebSocket实现多文件同时上传的实例
2016/12/29 HTML / CSS
美国最受欢迎的童装品牌之一:The Children’s Place
2016/07/23 全球购物
英国皇家造币厂:The Royal Mint
2018/10/05 全球购物
Amara德国:家居饰品、设计师品牌和豪华礼品
2019/05/20 全球购物
公司财务工作总结的自我评价
2013/11/23 职场文书
普通院校学生的自荐信
2013/11/27 职场文书
小学毕业典礼主持词
2014/03/27 职场文书
交警个人先进事迹材料
2014/05/11 职场文书
银行先进个人事迹材料
2014/05/11 职场文书
数据保密承诺书
2014/06/03 职场文书
学校督导评估方案
2014/06/10 职场文书
优秀少先队员事迹材料
2014/12/24 职场文书
求职简历自我评价2015
2015/03/10 职场文书
少先队工作总结2015
2015/05/13 职场文书
《领导干部从政道德启示录》学习心得体会
2016/01/20 职场文书
浅谈克隆 JavaScript
2021/11/02 Javascript