此代码亲测可用,有需要的朋友可以拿去使用。
$mac = $this->GetMacAddr(PHP_OS);
echo $mac;
/*
* 获取MAC地址 begin
*
*/
function GetMacAddr($os_type) {
switch ($os_type) {
case "Linux":
$return_array = forLinux();
break;
case "solaris":
break;
case "unix":
break;
case "aix":
break;
default:
$return_array = forWindows();
break;
}
$temp_array = array();
foreach ($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)) {
$mac_addr = $temp_array[0];
break;
}
}
unset($temp_array);
return $mac_addr;
}
function forWindows() {
@exec("ipconfig /all", $return_array);
if ($return_array){
return $return_array;
} else {
$ipconfig = $_SERVER["WINDIR"] . "\system32\ipconfig.exe";
if (is_file($ipconfig))
@exec($ipconfig . "/all", $return_array);
else
@exec($_SERVER["WINDIR"] . "\system\ipconfig.exe /all", $return_array);
return $return_array;
}
}
function forLinux() {
@exec("ifconfig -a", $return_array);
return $return_array;
}
/*
* 获取MAC地址 end
*
*/