请将代码放到服务器上测试,本地测试不行。
function getip_out(){
$ip=false;
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$ip = $_SERVER["HTTP_CLIENT_IP"];
}
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
for ($i = 0; $i < count($ips); $i++) {
if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
$ip = $ips[$i];
break;
}
}
}
return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}
$ip=getip_out(); //获取用户ip
//根据百度ip接口获取ip的真实地址
$result=file_get_contents('http://api.map.baidu.com/location/ip?ak=IqT6DybzT5xAG2P8jT7FUwQI&ip='.$ip.'');
$address=json_decode($result,true);
$city=mb_substr($address['content']['address_detail']['city'], 0,-1,'utf8');
var_dump($city);