获取网卡的MAC地址原码;目前支持WIN/LINUX系统 获取机器网卡的物理(MAC)地址
- <?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;
- ?>