忽然想到,判断同机登陆的问题。记录MAC是个好办法,顺便查了这个PHP方法,备注以便以后使用。
实现很简单,就是分别调用系统命令,返回到数组中。
<?php class GetMacAddr { var $return_array = array(); // 返回带有MAC地址的字串数组 var $mac_addr=array(); function GetMacAddr() { switch (strtolower(PHP_OS) ) { 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]; } } 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(); echo "<pre>"; print_r( $mac->mac_addr); ?>
转载请注明:爱开源 » php获取网卡MAC地址类