当前位置:博客首页>>PHP >> 阅读正文

【PHP】用php获取网卡的MAC地址

作者: 郑晓 分类: PHP 发布于: 2011-10-15 07:47 浏览(3,505) 没有评论


用PHP获取网卡的MAC地址原码;目前支持Windows/LINUX系统 获取机器网卡的物理MAC地址。
php获取mac地址代码如下:

<?php  
/**  
获取网卡的MAC地址原码;目前支持WIN/LINUX系统  
获取机器网卡的物理(MAC)地址  
**/
 
   
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"]."\system32\ipconfig.exe";  
                       if ( is_file($ipconfig) )  
                          @exec($ipconfig." /all", $this->return_array);  
                       else  
                          @exec($_SERVER["WINDIR"]."\system\ipconfig.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;  
?>
       

本文采用知识共享署名-非商业性使用 3.0 中国大陆许可协议进行许可,转载时请注明出处及相应链接。

本文永久链接: https://www.zh30.com/php-using-php-to-get-the-network-card-mac-address.html