PHP获取Mac地址

来源:互联网 发布:阿里云香港服务器 vpn 编辑:程序博客网 时间:2024/06/05 02:12
  1. <?php
  2. class GetMacAddr   
  3. {   
  4.         var $return_array = array(); // 返回带有MAC地址的字串数组   
  5.         var $mac_addr=array();   
  6.            
  7.         function GetMacAddr()   
  8.         {   
  9.              switch (strtolower(PHP_OS) )   
  10.                 {   
  11.                         case "linux":$this->forLinux();break;   
  12.                         case "solaris":break;   
  13.                         case "unix":break;   
  14.                         case "aix":break;   
  15.                         default:$this->forWindows();break;   
  16.                 }   
  17.        
  18.                    
  19.                 $temp_array = array();   
  20.                 foreach ( $this->return_array as $value )   
  21.                 {   
  22.                         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 ) )   
  23.                         {   
  24.                                 $this->mac_addr[] = $temp_array[0];   
  25.                         }   
  26.                 }   
  27.                 unset($temp_array);   
  28.                 return $this->mac_addr;   
  29.         }   
  30.   
  31.         function forWindows()   
  32.         {   
  33.                 @exec("ipconfig /all"$this->return_array);   
  34.                 if ( $this->return_array )   
  35.                         return $this->return_array;   
  36.                 else{   
  37.                         $ipconfig = $_SERVER["WINDIR"]."\system32\ipconfig.exe";   
  38.                         if ( is_file($ipconfig) )   
  39.                            @exec($ipconfig." /all"$this->return_array);   
  40.                         else  
  41.                            @exec($_SERVER["WINDIR"]."\system\ipconfig.exe /all"$this->return_array);   
  42.                         return $this->return_array;   
  43.                 }   
  44.         }   
  45.   
  46.         function forLinux()   
  47.         {   
  48.                 @exec("ifconfig -a"$this->return_array);   
  49.                 return $this->return_array;   
  50.         }   
  51. }   
  52.   
  53. $mac = new GetMacAddr();   

  54. print_r( $mac->mac_addr);   
  55. ?>   
0 0
原创粉丝点击