zoukankan      html  css  js  c++  java
  • 黄聪: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;    
        ?>   

  • 相关阅读:
    Arraylist和Linkedlist的区别
    list和map的区别
    collection和collections区别
    Linux操作命令(六)
    Linux操作命令(五)
    Linux操作命令(四)
    Linux操作命令(三)
    Linux操作命令(二)
    Linux操作命令(一)
    ProgrammingProjectList-文本操作
  • 原文地址:https://www.cnblogs.com/huangcong/p/2610152.html
Copyright © 2011-2022 走看看