入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

用php获取设备信息

创建时间:2016-12-14 投稿人: 浏览次数:4739
<?php
header("Content:Content-type:text/html;charset=utf-8");
//      // 作用取得客户端的ip、地理位置、浏览器、以及访问设备
     class get_equipment_info{ 
      ////获得访客浏览器类型
      function GetBrowser(){
       if(!empty($_SERVER["HTTP_USER_AGENT"]))
       {
         $br = $_SERVER["HTTP_USER_AGENT"];
          if (preg_match("/MSIE/i",$br)){    
             $br = "MSIE";
          }
          elseif (preg_match("/Firefox/i",$br)){
             $br = "Firefox";
          }elseif (preg_match("/Chrome/i",$br)){
             $br = "Chrome";
          }elseif (preg_match("/Safari/i",$br)){
             $br = "Safari";
          }elseif (preg_match("/Opera/i",$br)){
             $br = "Opera";
          }else {
             $br = "Other";
          }
             return json_encode("浏览器为".$br);
          }else{
             return "获取浏览器信息失败!";} 
      }
      ////获得访客浏览器语言
      function GetLang()
      {
           if(!empty($_SERVER["HTTP_ACCEPT_LANGUAGE"])){
               $lang = $_SERVER["HTTP_ACCEPT_LANGUAGE"];
               $lang = substr($lang,0,5);
                if(preg_match("/zh-cn/i",$lang)){
                   $lang = "简体中文";
                }elseif(preg_match("/zh/i",$lang)){
                   $lang = "繁体中文";
                }else{
                   $lang = "English";
                }
                return json_encode("浏览器语言为".$lang); 
           }else{
            return "获取浏览器语言失败!";
            }
      }
       
     //获取客户端操作系统信息包括win10
    function GetOs(){
        $agent = $_SERVER["HTTP_USER_AGENT"];
        $os = false;
    
        if (preg_match("/win/i", $agent) && strpos($agent, "95"))
        {
            $os = "Windows 95";
        }
        else if (preg_match("/win 9x/i", $agent) && strpos($agent, "4.90"))
        {
            $os = "Windows ME";
        }
        else if (preg_match("/win/i", $agent) && preg_match("/98/i", $agent))
        {
            $os = "Windows 98";
        }
        else if (preg_match("/win/i", $agent) && preg_match("/nt 6.0/i", $agent))
        {
            $os = "Windows Vista";
        }
        else if (preg_match("/win/i", $agent) && preg_match("/nt 6.1/i", $agent))
        {
            $os = "Windows 7";
        }
        else if (preg_match("/win/i", $agent) && preg_match("/nt 6.2/i", $agent))
        {
            $os = "Windows 8";
        }else if(preg_match("/win/i", $agent) && preg_match("/nt 10.0/i", $agent))
        {
            $os = "Windows 10";#添加win10判断
        }else if (preg_match("/win/i", $agent) && preg_match("/nt 5.1/i", $agent))
        {
            $os = "Windows XP";
        }
        else if (preg_match("/win/i", $agent) && preg_match("/nt 5/i", $agent))
        {
            $os = "Windows 2000";
        }
        else if (preg_match("/win/i", $agent) && preg_match("/nt/i", $agent))
        {
            $os = "Windows NT";
        }
        else if (preg_match("/win/i", $agent) && preg_match("/32/i", $agent))
        {
            $os = "Windows 32";
        }
        else if (preg_match("/linux/i", $agent))
        {
            $os = "Linux";
        }
        else if (preg_match("/unix/i", $agent))
        {
            $os = "Unix";
        }
        else if (preg_match("/sun/i", $agent) && preg_match("/os/i", $agent))
        {
            $os = "SunOS";
        }
        else if (preg_match("/ibm/i", $agent) && preg_match("/os/i", $agent))
        {
            $os = "IBM OS/2";
        }
        else if (preg_match("/Mac/i", $agent) && preg_match("/PC/i", $agent))
        {
            $os = "Macintosh";
        }
        else if (preg_match("/PowerPC/i", $agent))
        {
            $os = "PowerPC";
        }
        else if (preg_match("/AIX/i", $agent))
        {
            $os = "AIX";
        }
        else if (preg_match("/HPUX/i", $agent))
        {
            $os = "HPUX";
        }
        else if (preg_match("/NetBSD/i", $agent))
        {
            $os = "NetBSD";
        }
        else if (preg_match("/BSD/i", $agent))
        {
            $os = "BSD";
        }
        else if (preg_match("/OSF1/i", $agent))
        {
            $os = "OSF1";
        }
        else if (preg_match("/IRIX/i", $agent))
        {
            $os = "IRIX";
        }
        else if (preg_match("/FreeBSD/i", $agent))
        {
            $os = "FreeBSD";
        }
        else if (preg_match("/teleport/i", $agent))
        {
            $os = "teleport";
        }
        else if (preg_match("/flashget/i", $agent))
        {
            $os = "flashget";
        }
        else if (preg_match("/webzip/i", $agent))
        {
            $os = "webzip";
        }
        else if (preg_match("/offline/i", $agent))
        {
            $os = "offline";
        }
        else
        {
            $os = "未知操作系统";
        }
        return json_encode("系统为".$os); 
    }
    //获得访客真实ip
      function Getip()
    {
        if (! empty($_SERVER["HTTP_CLIENT_IP"])) {
            $ip = $_SERVER["HTTP_CLIENT_IP"];
        }
        if (! empty($_SERVER["HTTP_X_FORWARDED_FOR"])) { // 获取代理ip
            $ips = explode(",", $_SERVER["HTTP_X_FORWARDED_FOR"]);
        }
        if ($ip) {
            $ips = array_unshift($ips, $ip);
        }
        
        $count = count($ips);
        for ($i = 0; $i < $count; $i ++) {
            if (! preg_match("/^(10|172.16|192.168)./i", $ips[$i])) { // 排除局域网ip
                $ip = $ips[$i];
                break;
            }
        }
        $tip = empty($_SERVER["REMOTE_ADDR"]) ? $ip : $_SERVER["REMOTE_ADDR"];
        if ($tip == "127.0.0.1") { // 获得本地真实IP
            return $this->get_onlineip();
        } else {
            return $tip;
        }
    }
     // //根据ip获得访客所在地地名
    function Getaddress($ip = "")
    {
        if (empty($ip)) {
            $ip = $this->Getip();
        }
        $ipadd = file_get_contents("http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip=" . $ip); // 根据新浪api接口获取
        if ($ipadd) {
            $charset = iconv("gbk", "utf-8", $ipadd);
            preg_match_all("/[x{4e00}-x{9fa5}]+/u", $charset, $ipadds);
            
            return $ipadds; // 返回一个二维数组
        } else {
            return "addree is none";
        }
    }
    //获得本地真实IP
    // function get_onlineip()
    // {
    //     $mip = file_get_contents("http://city.ip138.com/city0.asp");
    //     if ($mip) {
    //         preg_match("/[.*]/", $mip, $sip);
    //         $p = array(
    //             "/[/",
    //             "/]/"
    //         );
    //         return preg_replace($p, "", $sip[0]);
    //     } else {
    //         return "获取本地IP失败!";
    //     }
    // }
}

 // $info = new get_equipment_info();
 //     echo json_decode($info -> GetLang());
 //     echo json_decode($info -> GetOs());
 //     echo json_decode($info -> GetBrowser());
 //     print_r($info -> Getaddress());
 //     echo $info -> Getip();
 //     echo $info -> get_onlineip();
 //     die;
?>

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。