php根据IP地址判断所在省市的二种方法

发布时间:2019-08-31编辑:脚本学堂
在php中根据ip地址判断物理地址的方法示例,php获取用户IP地址、PHP根据IP判断用户所在城市,PHP根据IP实现城市切换或跳转的例子,供大家学习参考。

1、根据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);

2、简化版的根据IP地址获取其所在省市的代码:
 

复制代码 代码示例:
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());

3、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>


刷新页面,即可看到效果。