PHP读取网卡MAC地址

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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;