php实现根据IP地址获取其所在省市的方法
根据现有IP地址获取其地理位置(省份,城市等)的方法
functionGetIpLookup($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)){returnfalse;}
$jsonMatches=array();
preg_match('#\{.+?\}#',$res,$jsonMatches);
if(!isset($jsonMatches[0])){returnfalse;}
$json=json_decode($jsonMatches[0],true);
if(isset($json['ret'])&&$json['ret']==1){
$json['ip']=$ip;
unset($json['ret']);
}else{
returnfalse;
}
return$json;
}
$ipInfos=GetIpLookup('123.125.114.144');//baidu.comIP地址
var_dump($ipInfos);
再发一个简化版的
functiongetIpAddress(){
$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取得城市
varcity='<?echoipCity($xp_UserIp);?>';//根据IP地址所有城市跳转到指定页面
if(city.indexOf("上海市")>=0){
window.location.href="http://shanghai.demo.com/";}
将开头的A段代码和上面的C段代码分别放在B段代码的头和尾,然后我们在需要跳转的页面加入以下代码:
<scriptsrc="/ipcity/ipaddress.php"type="text/javascript"language="javascript"></script>
刷新页面,是不是达到预想的效果了呢?
以上所述就是本文的全部内容了,希望大家能够喜欢。