php怎么获取MAC地址的实现代码

发布时间:2020-06-30编辑:脚本学堂
分享下php怎么获取MAC地址的一段代码,获取机器网卡的物理(MAC)地址 ,需要的朋友参考下。

例子,php取得机器的物理地址,即mac地址。
 

复制代码 代码示例:

<?php  
/** 
获取网卡的MAC地址原码;目前支持WIN/LINUX系统 
获取机器网卡的物理(MAC)地址 
**/  
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"]."system32ipconfig.exe";  
if ( is_file($ipconfig) )  
@exec($ipconfig." /all", $this->return_array);  
else  
@exec($_SERVER["WINDIR"]."systemipconfig.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;  
?>