PHP获取服务器的mac地址类
PHP获取服务器的mac地址类,不是客户端的。
1 <?php 2 3 class GetMacAddr{ 4 5 var $return_array = array(); // 返回带有MAC地址的字串数组 6 var $mac_addr; 7 8 function GetMacAddr($os_type){ 9 switch ( strtolower($os_type) ){ 10 case "linux": 11 $this->forLinux(); 12 break; 13 case "solaris": 14 break; 15 case "unix": 16 break; 17 case "aix": 18 break; 19 default: 20 $this->forWindows(); 21 break; 22 } 23 24 25 $temp_array = array(); 26 27 foreach ( $this->return_array as $value ){ 28 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 ) ){ 29 $this->mac_addr = $temp_array[0]; 30 break; 31 } 32 33 } 34 unset($temp_array); 35 return $this->mac_addr; 36 } 37 38 39 function forWindows(){ 40 @exec("ipconfig /all", $this->return_array); 41 if ( $this->return_array ) 42 return $this->return_array; 43 else{ 44 $ipconfig = $_SERVER["WINDIR"]."\system32\ipconfig.exe"; 45 46 if ( is_file($ipconfig) ) 47 @exec($ipconfig." /all", $this->return_array); 48 else 49 @exec($_SERVER["WINDIR"]."\system\ipconfig.exe /all", $this->return_array); 50 51 52 return $this->return_array; 53 } 54 } 55 56 57 58 function forLinux(){ 59 @exec("ifconfig -a", $this->return_array); 60 return $this->return_array; 61 } 62 63 } 64 ?>
使用方法
include 'Getmac.php'; $mac = new GetMacAddr(PHP_OS); echo $mac->mac_addr;