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

前端技术 2023/09/04 PHP

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

function GetIpLookup($ip = \'\'){  
  if(empty($ip)){  
    return \'请输入IP地址\'; 
  }  
  $res = @file_get_contents(\'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=\' . $ip);  
  if(empty($res)){ return false; }  
  $jsonMatches = array();  
  preg_match(\'#\\{.+?\\}#\', $res, $jsonMatches);  
  if(!isset($jsonMatches[0])){ return false; }  
  $json = json_decode($jsonMatches[0], true);  
  if(isset($json[\'ret\']) && $json[\'ret\'] == 1){  
    $json[\'ip\'] = $ip;  
    unset($json[\'ret\']);  
  }else{  
    return false;  
  }  
  return $json;  
} 
$ipInfos = GetIpLookup(\'123.125.114.144\'); //baidu.com IP地址  
var_dump($ipInfos); 

再发一个简化版的

function getIpAddress(){  
  $ipContent  = file_get_contents(\"http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js\");  
  $jsonData = explode(\"=\",$ipContent);   
  $jsonAddress = substr($jsonData[1], 0, -1);  
  return $jsonAddress;  
}  
$ip_info=json_decode(getIpAddress());  

PHP根据IP地址实现城市切换或跳转

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

//根据IP地址跳转指定页面js取得城市

var city=\'<?echo ipCity($xp_UserIp);?>\'; //根据IP地址所有城市跳转到指定页面

if(city.indexOf(\"上海市\")>=0){

         window.location.href=\"http://shanghai.demo.com/\"; }
将开头的A段代码和上面的C段代码分别放在B段代码的头和尾,然后我们在需要跳转的页面加入以下代码:

<script src=\"/ipcity/ipaddress.php\" type=\"text/javascript\" language=\"javascript\"></script>
刷新页面,是不是达到预想的效果了呢?

以上所述就是本文的全部内容了,希望大家能够喜欢。

本文地址:https://www.stayed.cn/item/9849

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。