获取服务器mac
<BR><?php <BR>/** <BR>获取网卡的MAC地址原码;目前支持WIN/LINUX系统 <BR>获取机器网卡的物理(MAC)地址 <BR>**/ <BR>class GetmacAddr{ <BR>var $result = array(); // 返回带有MAC地址的字串数组 <BR>var $macAddr; <BR>/*构造*/ <BR>function __construct($osType){ <BR>switch ( strtolower($osType) ){ <BR>case "unix": break; <BR>case "solaris": break; <BR>case "aix": break; <BR>case "linux": { <BR>$this->for_linux_os(); <BR>}break; <BR>default: { <BR>$this->for_windows_os(); <BR>}break; <BR>} <BR>$temp_array = array(); <BR>foreach($this->result as $value){ <BR>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, <BR>$temp_array ) ){ <BR>$this->macAddr = $temp_array[0]; <BR>break; <BR>} <BR>} <BR>unset($temp_array); <BR>return $this->macAddr; <BR>} <BR>/*linux系统中获取方法*/ <BR>function for_linux_os(){ <BR>@exec("ifconfig -<a style="color:transparent">来@源gao*daima.com搞@代#码网</a><strong>搞gaodaima代码</strong>a", $this->result); <BR>return $this->result; <BR>} <BR>/*win系统中的获取方法*/ <BR>function for_windows_os(){ <BR>@exec("ipconfig /all", $this->result); <BR>if ( $this->result ) { <BR>return $this->result; <BR>} else { <BR>$ipconfig = $_SERVER["WINDIR"]."\system32\ipconfig.exe"; <BR>if(is_file($ipconfig)) { <BR>@exec($ipconfig." /all", $this->result); <BR>} else { <BR>@exec($_SERVER["WINDIR"]."\system\ipconfig.exe /all", $this->result); <BR>return $this->result; <BR>} <BR>} <BR>} <BR>} <BR>?> <BR>
获取客户端mac地址:
<BR>@exec("arp -a",$array); //执行arp -a命令,结果放到数组$array中 <BR>foreach($array as $value){ <BR>//匹配结果放到数组$mac_array <BR>if(strpos($value,$_SERVER["REMOTE_ADDR"]) && preg_match("/(:?[0-9A-F]{2}[:-]){5}[0-9A-F]{2}/i",$value,$mac_array)){ <BR>$mac = $mac_array[0]; <BR>break; <BR>} <BR>} <BR>echo $mac; <BR>
注:客户端获取的mac不能在本机测试,只能用别的电脑访问才能输出