php获取主机信息

  <?php

     // 作用取得客户端的ip、地理信息、浏览器、本地真实IP

     class get_gust_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 $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 $lang;

         

       }else{return "获取浏览器语言失败!";}

      }

       

       获取访客操作系统

      function GetOs(){

       if(!empty($_SERVER['HTTP_USER_AGENT'])){

        $OS $_SERVER['HTTP_USER_AGENT'];

          if (preg_match('/win/i',$OS)) {

         $OS 'Windows';

        }elseif (preg_match('/mac/i',$OS)) {

         $OS 'MAC';

        }elseif (preg_match('/linux/i',$OS)) {

         $OS 'Linux';

        }elseif (preg_match('/unix/i',$OS)) {

         $OS 'Unix';

        }elseif (preg_match('/bsd/i',$OS)) {

         $OS 'BSD';

        }else {

         $OS 'Other';

        }

              return $OS;  

       }else{return "获取访客操作系统信息失败!";}   

      }

       

      获得访客真实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 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失败!";}

       }

       

      根据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";}  

      

     }

     $gifo new get_gust_info();

     echo "你的ip:".$gifo->Getip();

     echo "所在地:";

     $ipadds $gifo->Getaddress();

     foreach($ipadds[0] as $value){

         echo "\r\n    ".iconv("utf-8","gbk",$value);    

     }

      

     echo "浏览器类型:".$gifo->GetBrowser();

     echo "浏览器语言:".$gifo->GetLang();

     echo "操作系统:".$gifo->GetOs();

     ?>

 

 

 

 //获取电脑的CPU信息

function OnlyU(){

        $a '';

        $b array();

        if(function_exists('exec')){

                if(mailto:!@exec( /all",$b)){

                        return false;

                }

        }elseif(function_exists('system')){

                ob_start();

                if(mailto:!@system( /all")){

                        return false;

                }else{

                }

                $b = ob_get_contents();

                ob_end_clean();

                $b explode("\n",$b);//print_r($b);

                array_pop($b);

        }else{

                return false;

        }

        $all = sizeof($b);

        for($i = 0; $i $all$i++){

                if(strpos($b[$i],"Description") !== false){

                        if(strpos($b[$i+1],"Physical Address") !== false){

                                $c explode(":",$b[$i+1]);

                                $a = trim($c[1]);

                                break;

                        }

                }

        // End for

        return empty($a)?false:$a;

// End function OnlyU

  

//获取网卡的MAC的地址

function getMAC() {

 @exec("ipconfig /all",$array);

 for($Tmpa;$Tmpa<count($array);$Tmpa++){

  if(eregi("Physical",$array[$Tmpa])){

   $mac=explode(":",$array[$Tmpa]);

   return $mac[1];

  }

 }

}

转载于:https://my.oschina.net/botkenni/blog/1492283

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值