<?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; ?>
php獲取網卡的MAC地址
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.