用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > php教程

PHP淘宝IP数据获取用户IP及地理位置

时间:2015-01-23  来源:西部数据  作者:西部数据

我们有时不想利用自己的数据库存储IP地址,自己的IP库更新慢不及时,我们可以直接使用第三方的IP库来操作,这里介绍利用淘宝IP数据获取用户IP及地理位置实现方法.

在直接在ie浏览器中打开下面地址

http://ip.taobao.com/service/getIpInfo.php?ip=8.8.8.8

返回信息,代码如下:

{"code":0,"data":{"country":"u7f8eu56fd","country_id":"US","area":"","area_id":"","region":"","region_id":"","city":"","city_id":"","county":"","county_id":"","isp":"","isp_id":"","ip":"8.8.8.8"}}

上面我们是直接在ie地址输入,这里我们利用php file_get_contents函数来获取,代码如下:

  1. /** 
  2.  * 获取 IP  地理位置 
  3.  * 淘宝IP接口 
  4.  * @Return: array 
  5.  */ 
  6. function getCity($ip
  7. $url="http://ip.taobao.com/service/getIpInfo.php?ip=".$ip
  8. $ip=json_decode(file_get_contents($url));  
  9. if((string)$ip->code=='1'){ 
  10.   return false; 
  11.   } 
  12.   $data = (array)$ip->data; 
  13. return $data;  

上面原因是通过file_get_contents由淘宝网返回的json格式的数据,我们再利用php json_decode函数转换成数组,$IP地址需要我们提供,下面提供一个获取用户真实IP地址的函数,代码如下:

  1. function getIP() 
  2.     static $realip
  3.     if (isset($_SERVER)){ 
  4.         if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){ 
  5.             $realip = $_SERVER["HTTP_X_FORWARDED_FOR"]; 
  6.         } else if (isset($_SERVER["HTTP_CLIENT_IP"])) { 
  7.             $realip = $_SERVER["HTTP_CLIENT_IP"]; 
  8.         } else { 
  9.             $realip = $_SERVER["REMOTE_ADDR"]; 
  10.         } 
  11.     } else { 
  12.         if (getenv("HTTP_X_FORWARDED_FOR")){ 
  13.             $realip = getenv("HTTP_X_FORWARDED_FOR"); 
  14.         } else if (getenv("HTTP_CLIENT_IP")) { 
  15.             $realip = getenv("HTTP_CLIENT_IP"); 
  16.         } else { 
  17.             $realip = getenv("REMOTE_ADDR"); 
  18.         } 
  19.     } 
  20.  
  21.  
  22.     return $realip
来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
    无相关信息
栏目更新
栏目热门