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

5年以前  |  阅读数:893 次  |  编程语言: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段代码的头和尾,然后我们在需要跳转的页面加入以下代码:

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

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

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例