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

内容摘要
这篇文章主要为大家详细介绍了php 获取网卡物理(MAC)地址的实现方法,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记。经测试代码如下:

/**
文章正文

这篇文章主要为大家详细介绍了php 获取网卡物理(MAC)地址的实现方法,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记。经测试代码如下:

/**
 *  获取网卡物理(MAC)地址
 *
 * @param 
 * @author php教程 www.idcnote.com
 **/
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; 
?>


/***   代码来自php教程(www.idcnote.com)   ***/

注:关于php 获取网卡物理(MAC)地址的实现方法的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!