<?
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"]."\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;
?>
转载于:https://www.cnblogs.com/lizhaoyao/p/5497781.html
相关资源:php获取网卡的MAC地址支持WIN/LINUX系统