php 获取网卡物理(MAC)地址的实现方法

前端之家收集整理的这篇文章主要介绍了php 获取网卡物理(MAC)地址的实现方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧。
经测试代码如下:

/**
 *  获取网卡物理(MAC)地址
 *
 * @param 
 * @author 编程之家 jb51.cc jb51.cc
 **/
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; 
?>


/***   代码来自编程之家 jb51.cc(jb51.cc)   ***/

猜你在找的PHP相关文章