首页 > 开发 > PHP > 正文

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

2024-05-04 23:34:49
字体:
来源:转载
供稿:网友

今天,就讨论一下在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段如下:

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

var city=''; //根据IP地址所有城市跳转到指定页面

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

window.location.href="http://shanghai.demo.com/"; }

将开头的A段代码和上面的C段代码分别放在B段代码的头和尾,然后我们在需要跳转的页面加入以下代码:

刷新页面,是不是达到预想的效果了呢?

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表