根据客户端ip判断用户所在地区
在做项目的时候我们经常会遇到根据ip来判断用户所在地区的问题,找了好久也没找到能够精确判断出地区的方法,以下是几种根据ip判断所在地的方法
/* 新浪 */
function getAddressIp1()
{
$url = “http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=”.’124.93.243.96′;
$ch = curl_init($url);
curl_setopt($ch,CURLOPT_ENCODING ,’utf8′);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; // 获取数据返回
$location = curl_exec($ch);
$location = json_decode($location);
curl_close($ch);
return $location;
}
/*搜狐*/
function getAddressIp2()
{
$url = “http://pv.sohu.com/cityjson?ie=utf-8”;
$ch = curl_init($url);
curl_setopt($ch,CURLOPT_ENCODING ,’utf8′);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; // 获取数据返回
$location = curl_exec($ch);
curl_close($ch);
return $location;
}
/*maxmind 返回来的是省市的拼音*/
function getAddressIp3()
{
$url = “http://j.maxmind.com/app/geoip.js”;
$ch = curl_init($url);
curl_setopt($ch,CURLOPT_ENCODING ,’utf8′);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; // 获取数据返回
$location = curl_exec($ch);
//$location = json_decode($location);
curl_close($ch);
eval($location);
echo geoip_region_name();
//echo(geoip_city());
}
/*taobao*/
function getAddressIp4()
{
$ipAddr= ‘116.255.205.145’;
$ipInfoApi= ‘http://ip.taobao.com/service/getIpInfo.php?ip=’.$ipAddr;
$areaInfo= file_get_contents($ipInfoApi);
$areaInfo= json_decode($areaInfo);
print_r($areaInfo); #echo’当前IP所在国家:’.$areaInfo->data->country;
}
还有是下载纯真ip库,通过ip库来进行操作
标签:PHP