当前位置:首页 > PHP教程 > php应用 > 列表

php实现根据IP地址获取其所在省市的方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-05-25 13:54:26 浏览: 评论:0 

今天,就讨论一下在PHP中如何获取用户IP地址、PHP根据IP判断用户所在城市以及PHP根据IP实现城市切换或跳转的问题。

根据现有IP地址获取其地理位置(省份,城市等)的方法

  1. function GetIpLookup($ip = ''){   
  2.   if(emptyempty($ip)){   
  3.     return '请输入IP地址';  
  4.   }   
  5.   $res = @file_get_contents('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=' . $ip);   
  6.   if(emptyempty($res)){ return false; }   
  7.   $jsonMatches = array();   
  8.   preg_match('#\{.+?\}#'$res$jsonMatches);   
  9.   if(!isset($jsonMatches[0])){ return false; }   
  10.   $json = json_decode($jsonMatches[0], true);   
  11.   if(isset($json['ret']) && $json['ret'] == 1){   
  12.     $json['ip'] = $ip;   
  13.     unset($json['ret']);   
  14.   }else{   
  15.     return false;   
  16.   }   
  17.   return $json;   
  18. }  
  19. $ipInfos = GetIpLookup('123.125.114.144'); //baidu.com IP地址   
  20. var_dump($ipInfos);  

再发一个简化版的

  1. function getIpAddress(){   
  2.   $ipContent  = file_get_contents("http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js");   
  3.   $jsonData = explode("=",$ipContent);    
  4.   $jsonAddress = substr($jsonData[1], 0, -1);   
  5.   return $jsonAddress;   
  6. }   
  7. $ip_info=json_decode(getIpAddress()); 
PHP根据IP地址实现城市切换或跳转

到这里,其实问题已经很简单了,用简单的js就通通搞定。C段如下:

  1. //根据IP地址跳转指定页面js取得城市 
  2.  
  3. var city='<?echo ipCity($xp_UserIp);?>'//根据IP地址所有城市跳转到指定页面 
  4.  
  5. if(city.indexOf("上海市")>=0){ 
  6.  
  7.          window.location.href="http://shanghai.demo.com/"; } 
  8. 将开头的A段代码和上面的C段代码分别放在B段代码的头和尾,然后我们在需要跳转的页面加入以下代码: 
  9.  
  10. <script src="/ipcity/ipaddress.php" type="text/javascript" language="javascript"></script> 
刷新页面,是不是达到预想的效果了呢?

Tags: php获取其所在省市IP

分享到: