zoukankan      html  css  js  c++  java
  • 获取机器网卡的物理(MAC)地址

    <?php  
    /**   
    * 获取机器网卡的物理(MAC)地址
    * 目前支持WIN/LINUX系统   
    * 编辑: www.jbxue.com
    **/  
    class MacAddInfo {      
        var $return_array = array (); // 返回带有MAC地址的字串数组    
        var $mac_addr;  
          
        function MacAddInfo($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"] . "system32ipconfig.exe";  
                if (is_file ( $ipconfig ))  
                    @exec ( $ipconfig . " /all", $this->return_array );  
                else  
                    @exec ( $_SERVER ["WINDIR"] . "systemipconfig.exe /all", $this->return_array );  
                return $this->return_array;  
            }  
        }  
          
        function forLinux() {  
            @exec ( "ifconfig -a", $this->return_array );  
            return $this->return_array;  
        }  
    }  
    //调用示例
    //$mac = new MacAddInfo(PHP_OS);    
    //echo $mac->mac_addr;    
    ?> 

  • 相关阅读:
    关于表格
    split函数
    javac classpath和java classpath
    ORA01460: 转换请求无法实现或不合理 的原因
    业务流程学习(1)
    启动oracle10监听器错误:本地计算机上的OracleOraDb10g_home1TNSListener服务启动后又停止了 解决方案
    CF1594F. Ideal Farm
    CF1373G. Pawns
    CF1373F. Network Coverage
    CF1515F. Phoenix and Earthquake
  • 原文地址:https://www.cnblogs.com/alex-13/p/4520277.html
Copyright © 2011-2022 走看看