php 讀取MAC地址

來源:互聯網
上載者:User

class GetMacAddr{   
  
       var $return_array = array(); // 返回帶有MAC地址的字串數組   
       var $mac_addr;   
  
       function GetMacAddr($os_type){   
            switch ( strtolower($os_type) ){   
                     case "linux":   
                               $this->forLinux();   
                               break;   
                     case "solaris":   
                               break;   
                     case "unix":   
                               break;   
                     case "aix":   
                               break;   
                     default:   
                               $this->forWindows();   
                               break;   
  
            }   
  
              
            $temp_array = array();   
            foreach ( $this->return_array as $value ){   
  
                      if (   
preg_match("/[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f]/i",$value,   
$temp_array ) ){   
                               $this->mac_addr = $temp_array[0];   
                               break;   
                     }   
  
            }   
            unset($temp_array);   
            return $this->mac_addr;   
       }   
  
  
       function forWindows(){   
            @exec("ipconfig /all", $this->return_array);   
            if ( $this->return_array )   
                     return $this->return_array;   
            else{   
                     $ipconfig = $_SERVER["WINDIR"]."system32ipconfig.exe";   
                     if ( is_file($ipconfig) )   
                        @exec($ipconfig." /all", $this->return_array);   
                     else  
                        @exec($_SERVER["WINDIR"]."systemipconfig.exe /all", $this->return_array);   
                     return $this->return_array;   
            }   
       }   
  
  
  
       function forLinux(){   
            @exec("ifconfig -a", $this->return_array);   
            return $this->return_array;   
       }   
  
}   
//方法使用   
//$mac = new GetMacAddr(PHP_OS);   
//echo $mac->mac_addr;   

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.