php获取ip地址及详情

1. 获取ip地址

header("Content-type: text/html; charset=utf-8");
 
function getCity($ip = '')//获取地区
{
    if($ip == ''){
        $url = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json";//新浪借口获取访问者地区
        $ip=json_decode(file_get_contents($url),true);
        $data = $ip;
    }else{
        $url="http://ip.taobao.com/service/getIpInfo.php?ip=".$ip;//淘宝借口需要填写ip
        $ip=json_decode(file_get_contents($url));  
        if((string)$ip->code=='1'){
           return false;
        }
        $data = (array)$ip->data;
    }
     
    return $data;  
}
 
print_r($city);
 
 
//获取访问者ip地址
 
if ($_SERVER['REMOTE_ADDR']) {//判断SERVER里面有没有ip,因为用户访问的时候会自动给你网这里面存入一个ip
     $cip = $_SERVER['REMOTE_ADDR'];
} elseif (getenv("REMOTE_ADDR")) {//如果没有去系统变量里面取一次 getenv()取系统变量的方法名字
     $cip = getenv("REMOTE_ADDR");
} elseif (getenv("HTTP_CLIENT_IP")) {//如果还没有在去系统变量里取下客户端的ip
     $cip = getenv("HTTP_CLIENT_IP");
} else {
     $cip = "unknown";
}
     echo $cip;

2. 解析数据json_decode

    淘宝接口 :
    {"ret":1,"start":-1,"end":-1,"country":"\u4e2d\u56fd","province":"\u5e7f\u897f","city":"\u6842\u6797","district":"","isp":"","type":"","desc":""}
    
json_decode后:
    array (
          'ret' => '1',
          'start' => '-1',
          'end' => '-1',
          'country' => '中国',
          'province' => '广西',
          'city' => '桂林',
          'district' => '',
          'isp' => '',
          'type' => '',
          'desc' => '',
    );
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,080评论 19 139
  • 简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者...
    保川阅读 5,992评论 1 13
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,885评论 25 709
  • 名词延伸 通俗的说,域名就相当于一个家庭的门牌号码,别人通过这个号码可以很容易的找到你。如果把IP地址比作一间房子...
    杨大虾阅读 20,651评论 2 56
  • 小柳 从小 就是伶牙俐齿的小孩 而我 是笨拙隐忍的妈妈 只有赖在你的身边 才不会觉得寂寞 把往事讲给你听 将心事向...
    小柳姐姐阅读 240评论 0 0