根据现有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
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我