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;    
    ?> 

  • 相关阅读:
    发送邮件封装的方法
    异步编程
    Xaml中string(字符串)常量的定义以及空格的处理
    python中lxml的应用
    Python打包成exe
    利用TaskScheduler处理Queue、Stack等类型的操作队列(生产者消费者场景)
    TreeView的性能问题
    WPF中ItemsControl绑定到Google ProtocolBuffer的结构体时的性能问题
    WPF中ToolTip的自定义
    WPF中ItemsControl绑定到Google ProtocolBuffer的结构体时的性能问题
  • 原文地址:https://www.cnblogs.com/alex-13/p/4520277.html
Copyright © 2011-2022 走看看