在好多的应用中需要对用户的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; }
将该方法封装到常用的方法库中即可在项目的任何地方进行调用,十分方便。