使用淘宝的IP查询API实现IP地址省市展示

在好多的应用中需要对用户的IP地址进行实际地址显示,这时候就需要对IP进行解析,可以采用TX的IP地址库去查询,但是这个动态库需要补断的更新比较麻烦,现在我们可以直接使用淘宝的IP查询接口来直接调用,省去了地址库的维护。

下面就是具体的方法封装:

/**
 * @todo 获取当前IP的具体位置
 * @param String $ip 获取到的客户端的实际IP地址
 * @return String $area 返回客户端IP地址的具体位置
 */
public function getIPAddresses($ip){
    $IPString=file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);//通过淘宝的IP库查询获取IP地址的具体信息
    $IPDetails=json_decode($IPString,TRUE);//解析淘宝返回的JSON数据
    if ($IPDetails['code']==0){//IP地址返回状态
        if ($IPDetails['data']['country']=='未分配或者内网IP'){//判断是都是局域网
            $area='局域网地址';
        }else{
            $area=$IPDetails['data']['region'].$IPDetails['data']['city'];
        }
    }else{
        $area='未知地址';
    }
    return $area;
}

将该方法封装到常用的方法库中即可在项目的任何地方进行调用,十分方便。

posted @ 2014-01-16 09:46  二次元の猪  阅读(701)  评论(0编辑  收藏  举报