获取机器网卡的物理(MAC)地址

mac2022-06-30  90

<?php  /**   * 获取机器网卡的物理(MAC)地址* 目前支持WIN/LINUX系统   * 编辑: www.jbxue.com**/  class MacAddInfo {          var $return_array = array (); // 返回带有MAC地址的字串数组        var $mac_addr;            function MacAddInfo($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 MacAddInfo(PHP_OS);    //echo $mac->mac_addr;    ?> 

转载于:https://www.cnblogs.com/alex-13/p/4520277.html

最新回复(0)