获取客户端IP地址定位城市信息

获取客户端IP地址定位城市信息

1、首先获取客户端的IP地址

function getIPaddress(){
$IPaddress='';
if (isset($_SERVER)){
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
$IPaddress = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else if (isset($_SERVER["HTTP_CLIENT_IP"])) {
$IPaddress = $_SERVER["HTTP_CLIENT_IP"];
} else {
$IPaddress = $_SERVER["REMOTE_ADDR"];
}
} else {
if (getenv("HTTP_X_FORWARDED_FOR")){
$IPaddress = getenv("HTTP_X_FORWARDED_FOR");
} else if (getenv("HTTP_CLIENT_IP")) {
$IPaddress = getenv("HTTP_CLIENT_IP");
} else {
$IPaddress = getenv("REMOTE_ADDR");
}
}
return $IPaddress;
}

2、调用淘宝IP的API接口查询城市信息

public function taobaoIP($clientIP){
$taobaoIP = 'http://ip.taobao.com/service/getIpInfo.php?ip='.$clientIP;
$IPinfo = json_decode(file_get_contents($taobaoIP));
$province = $IPinfo->data->region;
$city = $IPinfo->data->city;
$data = $province.$city;
return $data;
}

以上调用返回省+市信息。可以调用自己任意想要的IP地址信息。

其实就是这么简单,两步就搞定了。通过以上调用可以实现城市定位、城市自动切换(类似58同城)等功能开发。淘宝IP定位还是挺准确的,这是在线的IP地址库,查询到的都是最新的。

获取客户端IP地址定位城市信息

获取客户端IP地址定位城市信息

上一篇:准确率99.9%的离线IP地址定位库


下一篇:svn利用钩子post-commit自动更新到线上测试服务器(测试中未验证)