澳门新葡萄京娱乐场php获取网卡的MAC地址支持WIN/LINUX系统

获取客户端mac地址:
复制代码 代码如下:
@exec(“arp -a”,$array); //执行arp -a命令,结果放到数组$array中
foreach($array as $value){
//匹配结果放到数组$mac_array
if(strpos($value,$_SERVER[“REMOTE_ADDR”]) &&
preg_match(“/(:?[0-9A-F]{2}[:-]){5}[0-9A-F]{2}/i”,$value,$mac_array)){
$mac = $mac_array[0];
break;
}
}
echo $mac;

获取服务器mac 复制代码 代码如下:
for_linux_os(); }break; default: { $this->for_windows_os();
}break; } $temp_array = array(); foreach($this->result 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->macAddr = $temp_array[0]; break; } }
unset; return $this->macAddr; } /*linux系统中获取方法*/ function
for_linux_os(){ @exec(“ifconfig -a”, $this->result); return
$this->result; } /*win系统中的获取方法*/ function
for_windows_os(){ @exec(“ipconfig /all”, $this->result); if {
return $this->result; } else { $ipconfig =
$_SERVER[“WINDIR”].”system32ipconfig.exe”; if { @exec($ipconfig.”
/all”, $this->result); } else {
@exec($_SERVER[“WINDIR”].”systemipconfig.exe /all”,
$this->result); return $this->result; } } } } ?>
获取客户端mac地址: 复制代码 代码如下:
@exec; //执行arp -a命令,结果放到数组$array中 foreach{
//匹配结果放到数组$mac_array
if(strpos($value,$_SERVER[“REMOTE_ADDR”]) &&
preg_match{5}[0-9A-F]{2}/i”,$value,$mac_array)){ $mac =
$mac_array[0]; break; } } echo $mac;
注:客户端获取的mac不能在本机测试,只能用别的电脑访问才能输出

$temp_array = array();
foreach ( $this->return_array as $value ){

注:客户端获取的mac不能在本机测试,只能用别的电脑访问才能输出

class GetMacAddr{

获取服务器mac
复制代码 代码如下:
/**
获取网卡的MAC地址原码;目前支持WIN/LINUX系统
获取机器网卡的物理(MAC)地址
**/
class GetmacAddr{
var $result = array(); // 返回带有MAC地址的字串数组
var $macAddr;
/*构造*/
function __construct($osType){
switch ( strtolower($osType) ){
case “unix”: break;
case “solaris”: break;
case “aix”: break;
case “linux”: {
$this->for_linux_os();
}break;
default: {
$this->for_windows_os();
}break;
}
$temp_array = array();
foreach($this->result 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->macAddr = $temp_array[0];
break;
}
}
unset($temp_array);
return $this->macAddr;
}
/*linux系统中获取方法*/
function for_linux_os(){
@exec(“ifconfig -a”, $this->result);
return $this->result;
}
/*win系统中的获取方法*/
function for_windows_os(){
@exec(“ipconfig /all”, $this->result);
if ( $this->result ) {
return $this->result;
} else {
$ipconfig = $_SERVER[“WINDIR”].”system32ipconfig.exe”;
if(is_file($ipconfig)) {
@exec($ipconfig.” /all”, $this->result);
} else {
@exec($_SERVER[“WINDIR”].”systemipconfig.exe /all”,
$this->result);
return $this->result;
}
}
}
}
?>

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;
}

var $return_array = array(); // 返回带有MAC地址的字串数组
var $mac_addr;

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;
}

/**
获取网卡的MAC地址原码;目前支持WIN/LINUX系统
获取机器网卡的物理(MAC)地址
**/

}
unset($temp_array);
return $this->mac_addr;
}

}
//方法使用
$mac = new GetMacAddr(PHP_OS);
echo $mac->mac_addr; //这里是机器的真实MAC地址,请注释掉
?>

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;

发表评论

电子邮件地址不会被公开。 必填项已用*标注