注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天朝布衣田中码农参上

苦逼码农的点点滴滴,请多多指教!

 
 
 

日志

 
 
 
 

geoip-api-php库通过ip找到国家和城市  

2017-06-15 11:17:01|  分类: PHP |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
大家都知道国内有使用PHP操作纯真IP库或珊瑚虫IP库,根据来访者的IP得到所在的物理位置。这个准确度在国内还算可以,但是目前的项目已经越来越国际化,这两个IP库用起来就感觉力不从心了。而今天要介绍的这个IP库,跟上一篇文章《Nginx使用http_geoip_module模块为网站定制国际化》也有关系,说白了就是利用php来解析MaxMind 的GeoIP 库。当然不止php,各种语言都有,而且全是官方提供的,地址是:https://dev.maxmind.com/zh-hans/geoip/geoip2/downloadable/#MaxMind_APIs。
geoip-api-php库通过ip找到国家和城市 - sinsunson - 天朝布衣田中码农参上
 介绍说了这么多,下面就直接说说用法。
1)首先当然是下载IP地址库,至于喜欢用那个请自便,地址是:http://dev.maxmind.com/zh-hans/geoip/legacy/geolite/
geoip-api-php库通过ip找到国家和城市 - sinsunson - 天朝布衣田中码农参上
 

#mk geoip

#cd geoip/
#wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
#gzip -d GeoIP.dat.gz

2)下载php库包,其它语言请自行调整:

#wget http://www.maxmind.com/download/geoip/api/php/php-latest.tar.gz
#unzip php-latest.tar.gz

3)简单使用:

<?php
//引入库文件
include("geoip-api-php-1.14/src/geoip.inc");
//通过ip返回国家城市信息
function getCountryByIp($ip=""){
//如果不传IP地址,那么默认取当前IP地址
if($ip=="") $ip=get_client_ip();
//指定IP地址库
$gi = geoip_open("geoip-api-php-1.14/GeoIP.dat", GEOIP_STANDARD);
if(strstr($ip,":")){
//IPV6处理
$country_code = geoip_country_code_by_addr_v6($gi,$ip);
$country_name = geoip_country_name_by_addr_v6($gi,$ip);
}else{
//IPV4处理
$country_code = geoip_country_code_by_addr($gi,$ip);
$country_name = geoip_country_name_by_addr($gi,$ip);
}
geoip_close($gi);
return array("country_code" => $country_code, "country_name" => $country_name);
}
//获取当前登陆用户IP
function get_client_ip(){
if ($_SERVER['REMOTE_ADDR']) {
$cip = $_SERVER['REMOTE_ADDR'];
}elseif(getenv("REMOTE_ADDR")) {
$cip = getenv("REMOTE_ADDR");
} elseif (getenv("HTTP_CLIENT_IP")) {
$cip = getenv("HTTP_CLIENT_IP");
} else {
$cip = "unknown";
}
return $cip;
}
//打印国家城市信息
print_r(getCountryByIp("8.8.8.8"));
?>

执行效果如下:
geoip-api-php库通过ip找到国家和城市 - sinsunson - 天朝布衣田中码农参上
嗯,想的结果达到了,就这么着吧。

 
  评论这张
 
阅读(0)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017