<?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;
?>
PHP如何获得电脑的MAC地址!
最新推荐文章于 2024-10-31 22:37:47 发布