<?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; 
 ?>