根据IP获取IP所在城市PHP

1、获取当前用户的真实IP地址
final private function getIp(){ 
$onlineip = '';
if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')){
$onlineip = getenv('HTTP_CLIENT_IP');
}else if(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')){
$onlineip = getenv('HTTP_X_FORWARDED_FOR');
}else if(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')){
$onlineip = getenv('REMOTE_ADDR');
}else if(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')){
$onlineip = $_SERVER['REMOTE_ADDR'];
}
$ip = explode(',', $onlineip);
return $ip[0];
}

2、

//get请求
function curl_get($url){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_HEADER, 0);
$res = curl_exec($curl);
curl_close($curl);


return object_array(json_decode($res));
}

3、根据IP获取城市

function getCityByIp($ip){
$default_city = cookie('user_default_city');
if(empty($default_city)){
$ip = $this->getIp();
$url = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=" . $ip;
$res = $this->curl_get($url);
cookie('user_default_city', $res['city'] . '市');
}
return $default_city;
    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值