wlnugczykv 发表于 2016-5-17 11:07:41

PHP获取本机网卡的MAC地址

  <?php
/**
获取机器网卡的物理(MAC)地址
wwa$Exp
**/
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( "/[:-]"."[:-]"."[:-]"."[:-]"."[:-]"."/i", $value, $temp_array ) )
      {
          $this->mac_addr = $temp_array;
          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;
?>
页: [1]
查看完整版本: PHP获取本机网卡的MAC地址