黄聪: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;    
    ?>   

原文地址:https://www.cnblogs.com/huangcong/p/2610152.html