獲取機器網卡的物理(MAC)地址PHP代碼

6e72 9年前發布 | 1K 次閱讀 PHP

<?php 
/ 
                獲取機器網卡的物理(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; ?></pre>

 本文由用戶 6e72 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!