PHP获取MAC地址的具体实例


Posted in PHP onDecember 13, 2013

本节分享的php代码,主要功能:
获取机器网卡的物理(MAC)地址。
代码:

<?php  
/**   
* 获取机器网卡的物理(MAC)地址
* 目前支持WIN/LINUX系统   
**/  
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"] . "/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 MacAddInfo(PHP_OS);    
//echo $mac->mac_addr;    
?>
PHP 相关文章推荐
fleaphp下不确定的多条件查询的巧妙解决方法
Sep 11 PHP
关于PHP实现异步操作的研究
Feb 03 PHP
解析在PHP中使用mysqli扩展库对mysql的操作
Jul 03 PHP
php实现天干地支计算器示例
Mar 14 PHP
php断点续传之如何分割合并文件
Mar 22 PHP
在PHP模板引擎smarty生成随机数的方法和math函数详解
Apr 24 PHP
ThinkPHP令牌验证实例
Jun 18 PHP
php保存信息到当前Session的方法
Mar 16 PHP
ThinkPHP设置禁止百度等搜索引擎转码(简单实用)
Feb 15 PHP
[原创]解决wincache不支持64位PHP5.5/5.6的问题(提供64位wincache下载)
Jun 22 PHP
PHP设计模式之工厂方法设计模式实例分析
Apr 25 PHP
PHP isset empty函数相关面试题及解析
Dec 11 PHP
php配合jquery实现增删操作具体实例
Dec 12 #PHP
php文件上传的例子及参数详解
Dec 12 #PHP
PHP 提取图片img标记中的任意属性的简单实例
Dec 10 #PHP
PHP eval函数使用介绍
Dec 08 #PHP
Server.HTMLEncode让代码在页面里显示为源代码
Dec 08 #PHP
php自定义的格式化时间示例代码
Dec 05 #PHP
php调整gif动画图片尺寸示例代码分享
Dec 05 #PHP
You might like
APACHE的AcceptPathInfo指令使用介绍
2013/01/18 PHP
Laravel 5 框架入门(三)
2015/04/09 PHP
php之static静态属性与静态方法实例分析
2015/07/30 PHP
基于jquery循环map功能的代码
2011/02/26 Javascript
IE 当eval遇上function的处理
2011/08/09 Javascript
jquery实现的让超出显示范围外的导航自动固定屏幕最顶上
2011/09/22 Javascript
js/jquery判断浏览器的方法小结
2014/09/02 Javascript
JavaScript分秒倒计时器实现方法
2015/02/02 Javascript
jQuery实现提示密码强度的代码
2015/07/15 Javascript
JQuery核心函数是什么及使用方法介绍
2016/05/03 Javascript
js鼠标单击和双击事件冲突问题的快速解决方法
2016/07/11 Javascript
利用jQuery插件imgAreaSelect实现获得选择域的图像信息
2016/12/02 Javascript
详解vuelidate 对于vueJs2.0的验证解决方案
2017/03/09 Javascript
关于vue-resource报错450的解决方案
2017/07/24 Javascript
jQuery实现的滑块滑动导航效果示例
2018/06/04 jQuery
vue与原生app的对接交互的方法(混合开发)
2018/11/28 Javascript
vue搜索和vue模糊搜索代码实例
2019/05/07 Javascript
node.js express捕获全局异常的三种方法实例分析
2019/12/27 Javascript
Vue 基于 vuedraggable 实现选中、拖拽、排序效果
2020/05/18 Javascript
element中Steps步骤条和Tabs标签页关联的解决
2020/12/08 Javascript
最大K个数问题的Python版解法总结
2016/06/16 Python
详解pytorch 0.4.0迁移指南
2019/06/16 Python
numpy库reshape用法详解
2020/04/19 Python
Python实现文件压缩和解压的示例代码
2020/08/12 Python
css3发光搜索表单分享
2014/04/11 HTML / CSS
美国知名的百货清仓店:Neiman Marcus Last Call
2016/08/03 全球购物
英国领先的高街书籍专家:Waterstones
2018/02/01 全球购物
英国当代时尚和街头服饰店:18montrose
2018/12/15 全球购物
Weblogc domain问题
2014/01/27 面试题
房地产财务管理制度
2014/02/02 职场文书
幸福家庭事迹材料
2014/02/03 职场文书
火锅店营销方案
2014/02/26 职场文书
医学专业毕业生求职信
2014/06/20 职场文书
保卫工作个人总结
2015/03/03 职场文书
重阳节活动主持词
2015/07/04 职场文书
党员学习中国梦心得体会
2016/01/05 职场文书