PHP获取IP所在地地址
原理简述:
利用“ip.taobao.com”提供的一个功能,先获取json格式字符串,再解码json字符串
新建文件getaddress.class.php:
<?php Classss GetAddress{ /*获取本地真实IP函数*/ function GetIp() { $ip_json = @file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=myip"); $ip_arr=json_decode($ip_json,1);//JSON格式字符解码 if($ip_arr['code']==0){ return $ip_arr['data']['ip']; } } /*获取IP所在地地址函数 *@param $ip p地址,默认为本机ip */ function GetIpFrom($ip=''){ if(empty($ip)){ $ip = self::GetIp(); } $ip_json=@file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=".$ip); $ip_arr=json_decode($ip_json,1);//JSON格式字符解码 if($ip_arr['code']==0){ $country = $ip_arr['data']['country'];//国家,如中国 $area = $ip_arr['data']['area'];//地区,如华南 $region = $ip_arr['data']['region'];//省区,如广东省 $city = $ip_arr['data']['city'];//城市,如汕头市 $isp = $ip_arr['data']['isp']; //运营商,如电信 $addr = $country.$area.$region.$city.$isp; return $addr; } else{ return false; } } }
新建演示文件demo.php:
<?php include "getaddress.class.php";//加载类 $c = new GetAddress; echo "当前IP地址为:"; echo $c->GetIp(); echo "<br>"; echo "IP所在地地址及运营商信息:"; echo $c->GetIpFrom();
访问demo.php:


浙公网安备 33010602011771号