本文主要是介绍PHP获取网卡的MAC地址原码,支持WIN/LINUX系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
<?php
/**
* 获取网卡的MAC地址原码;目前支持WIN/LINUX系统
* 获取机器网卡的物理(MAC)地址
*/
class GetMacAddr
{var $return_array = array(); // 返回带有MAC地址的字串数组var $mac_addr;public 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;} public 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;}} public function forLinux(){@exec("ifconfig -a", $this->return_array);return $this->return_array;}
}
//方法使用
$mac = new GetMacAddr(PHP_OS);
echo $mac->mac_addr;
这篇关于PHP获取网卡的MAC地址原码,支持WIN/LINUX系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!