调用新浪IP接口,获取地址信息

//获取ip的一段常用代码
function getip(){
    if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) {
           $ip = getenv("HTTP_CLIENT_IP");
     } else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) {
           $ip = getenv("HTTP_X_FORWARDED_FOR");
     } else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) {
           $ip = getenv("REMOTE_ADDR");
     } else  if (isset ($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) {
           $ip = $_SERVER['REMOTE_ADDR'];
     } else {
           $ip = "unknown";
     }
    return $ip;
}

function getLocation($ip=''){
    empty($ip) && $ip = getip();
    if($ip=="127.0.0.1") return "本机地址";
       $api = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=$ip"; 
       $json = file_get_contents($api);  //调用新浪IP地址库 
       $arr = json_decode($json,TRUE);    //解析json
       $country = $arr['country'];        //取得国家
       $province = $arr['province'];      //获取省份 
       $city = $arr['city'];              //取得城市
    if((string)$country == "中国"){
        if((string)($province) != (string)$city){
             $_location = $province.$city;
        }else{
             $_location = $country.$city;	  
        }
    }else{
       $_location = $country;
    }
    return $_location;
}
echo getLocation();             //或者 echo getLocation("115.24.28.238");

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值