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 magic_quotes_gpc的使用方法详解
Jun 24 PHP
PHP函数strip_tags的一个bug浅析
May 22 PHP
Parse正式发布开源PHP SDK
Aug 11 PHP
PHP简单创建压缩图的方法
Aug 24 PHP
基于PHPexecl类生成复杂的报表表头示例
Oct 14 PHP
PHP yii实现model添加默认值的方法(两种方法)
Nov 10 PHP
php 广告点击统计代码(php+mysql)
Feb 21 PHP
php根据命令行参数生成配置文件详解
Mar 15 PHP
Laravel实现通过blade模板引擎渲染视图
Oct 25 PHP
php传值和传引用的区别点总结
Nov 19 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
Apr 04 PHP
php字符串倒叙
Apr 01 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
重置版战役片段
2020/04/09 魔兽争霸
PHP6 mysql连接方式说明
2009/02/09 PHP
PHP mb_convert_encoding文字编码的转换函数介绍
2011/11/10 PHP
javascript中onmouse事件在div中失效问题的解决方法
2012/01/09 Javascript
js 自定义个性下拉选择框示例
2013/08/20 Javascript
input禁止键盘及中文输入,但可以点击
2014/02/13 Javascript
浅谈struts1 & jquery form 文件异步上传
2017/05/25 jQuery
微信小程序列表渲染功能之列表下拉刷新及上拉加载的实现方法分析
2017/11/27 Javascript
JS实现图片旋转动画效果封装与使用示例
2018/07/09 Javascript
JS实现判断图片是否加载完成的方法分析
2018/07/31 Javascript
vue+element 模态框表格形式的可编辑表单实现
2019/06/07 Javascript
JavaScript创建、读取和删除cookie
2019/09/03 Javascript
webpack3升级到webpack4遇到问题总结
2019/09/30 Javascript
浅析vue-router中params和query的区别
2019/12/24 Javascript
Vue实现随机验证码功能
2020/12/29 Vue.js
[02:39]DOTA2英雄基础教程 天怒法师
2013/11/29 DOTA
python根据时间生成mongodb的ObjectId的方法
2015/03/13 Python
Python 中 Meta Classes详解
2016/02/13 Python
Python实现读取文件最后n行的方法
2017/02/23 Python
Python实现获取磁盘剩余空间的2种方法
2017/06/07 Python
Python实现PS图像调整颜色梯度效果示例
2018/01/25 Python
实例讲解Python爬取网页数据
2018/07/08 Python
Python走楼梯问题解决方法示例
2018/07/25 Python
Python实现CNN的多通道输入实例
2020/01/17 Python
Python操作MySQL数据库的示例代码
2020/07/13 Python
python opencv肤色检测的实现示例
2020/12/21 Python
CSS3美化表单控件全集
2016/06/29 HTML / CSS
详解使用canvas保存网页为pdf文件支持跨域
2018/11/23 HTML / CSS
财务管理专业毕业生求职信范文
2013/09/21 职场文书
公司成立感言
2014/01/11 职场文书
八年级物理教学反思
2014/01/19 职场文书
小区门卫管理制度
2014/01/29 职场文书
奉献爱心演讲稿
2014/09/04 职场文书
入党转正介绍人意见
2015/06/03 职场文书
民警忠诚教育心得体会
2016/01/23 职场文书
使用python如何删除同一文件夹下相似的图片
2021/05/07 Python