php GeoIP的使用教程

 更新时间:2011年03月09日 22:28:02   作者:  
GeoIP介绍:什么是GepIP ?所谓GeoIP,就是通过来访者的IP, 定位他的经纬度,国家/地区,省市,甚至街道等位置信息。
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 5.3之后的库

    如何在旧的PHP系统中使用PHP 5.3之后的库

    这篇文章主要介绍了如何在旧的PHP系统中使用PHP 5.3之后的库,需要的朋友可以参考下
    2015-12-12
  • PHP数组与对象之间使用递归实现转换的方法

    PHP数组与对象之间使用递归实现转换的方法

    这篇文章主要介绍了PHP数组与对象之间使用递归实现转换的方法,涉及php数组与对象的相关操作技巧,需要的朋友可以参考下
    2015-06-06
  • PHP计算日期相差天数实例分析

    PHP计算日期相差天数实例分析

    这篇文章主要介绍了PHP计算日期相差天数的方法,结合实例形式分析了PHP日期与时间操作及换算的相关技巧,需要的朋友可以参考下
    2016-02-02
  • php实现网站文件批量压缩下载功能

    php实现网站文件批量压缩下载功能

    这篇文章主要介绍了php实现网站文件批量压缩下载功能,文章提供了一个将文件压缩为zip格式的示例,感兴趣的小伙伴们可以参考一下
    2015-10-10
  • php结合ACCESS的跨库查询功能

    php结合ACCESS的跨库查询功能

    有时候我们在开发一些小程序或简单功能的管理系统,又没有mysql数据库的情况下,就可以使用access了,另外有时需要在两个或三个数据库的表中也可通过ACCESS的跨库查询功能实现
    2015-06-06
  • php链式操作的实现方式分析

    php链式操作的实现方式分析

    这篇文章主要介绍了php链式操作的实现方式,结合实例形式对比分析了常规调用与链式调用操作的相关实现技巧与操作注意事项,需要的朋友可以参考下
    2019-08-08
  • PHP批斗大会之缺失的异常详解

    PHP批斗大会之缺失的异常详解

    这篇文章主要给大家介绍了关于PHP批斗大会之缺失的异常的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用PHP具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • PHP安装memcached扩展笔记

    PHP安装memcached扩展笔记

    这篇文章主要介绍了PHP安装memcached扩展笔记,本文讲解了安装服务端、launchpad、安装memcached扩展以及配置PHP.ini等内容,需要的朋友可以参考下
    2015-05-05
  • php7 没有phpize的解决方法

    php7 没有phpize的解决方法

    在本篇文章里小编给大家分享的是一篇关于php7 没有phpize的解决方法及相关问题总结,有需要的朋友们可以跟着学习下。
    2021-12-12
  • 安装PHP可能遇到的问题“无法载入mysql扩展” 的解决方法

    安装PHP可能遇到的问题“无法载入mysql扩展” 的解决方法

    安装PHP可能遇到的问题“无法载入mysql扩展” 的解决方法...
    2007-04-04

最新评论