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 相关文章推荐
PHP通用检测函数集合
Nov 25 PHP
PHP函数篇之掌握ord()与chr()函数应用
Dec 05 PHP
PHP 登录完成后如何跳转上一访问页面
Jan 14 PHP
PHP中变量引用与变量销毁机制分析
Nov 15 PHP
php判断linux下程序问题实例
Jul 09 PHP
Linux系统中设置多版本PHP共存配合Nginx服务器使用
Dec 21 PHP
JavaScript实现删除电脑的关机键
Jul 26 PHP
PHP利用超级全局变量$_GET来接收表单数据的实例
Nov 05 PHP
Laravel框架使用Seeder实现自动填充数据功能
Jun 13 PHP
PHP文件操作实例总结【文件上传、下载、分页】
Dec 08 PHP
laravel添加前台跳转成功页面示例
Oct 22 PHP
关于laravel5.5的定时任务详解(demo)
Oct 23 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
ajax返回值中有回车换行、空格的解决方法分享
2013/10/24 PHP
php+resumablejs实现的分块上传 断点续传功能示例
2017/04/18 PHP
Javascript中Eval函数的使用说明
2008/10/11 Javascript
js Flash插入函数免激活代码
2009/03/31 Javascript
js 静态动态成员 and 信息的封装和隐藏
2011/05/29 Javascript
一个简单的网站访问JS计数器 刷新1次加1次访问
2012/09/20 Javascript
javascript 判断字符串是否包含某字符串及indexOf使用示例
2013/10/18 Javascript
如何从jQuery的ajax请求中删除X-Requested-With
2013/12/11 Javascript
nodejs爬虫抓取数据乱码问题总结
2015/07/03 NodeJs
jquery获得当前html页面源码的方法
2015/07/14 Javascript
13个PHP函数超实用
2015/10/21 Javascript
Jquery ui datepicker设置日期范围,如只能隔3天【实现代码】
2016/05/04 Javascript
基于Jquery插件Uploadify实现实时显示进度条上传图片
2020/03/26 Javascript
js实现产品缩略图效果
2017/03/10 Javascript
nodejs和C语言插入mysql数据库乱码问题的解决方法
2017/04/14 NodeJs
AngularJS中ng-class用法实例分析
2017/07/06 Javascript
微信小程序wx.request实现后台数据交互功能分析
2017/11/25 Javascript
jQuery操作attr、prop、val()/text()/html()、class属性
2019/05/23 jQuery
Js实现复选框的全选、全不选反选功能代码实例
2020/02/28 Javascript
Vue.js中使用Vuex实现组件数据共享案例
2020/07/31 Javascript
浅谈vue中使用编辑器vue-quill-editor踩过的坑
2020/08/03 Javascript
python3+PyQt5实现自定义窗口部件Counters
2018/04/20 Python
Python3.5 创建文件的简单实例
2018/04/26 Python
读取json格式为DataFrame(可转为.csv)的实例讲解
2018/06/05 Python
浅谈pycharm出现卡顿的解决方法
2018/12/03 Python
django 通过url实现简单的权限控制的例子
2019/08/16 Python
Python如何计算语句执行时间
2019/11/22 Python
Python分析最近大火的网剧《隐秘的角落》
2020/07/02 Python
do you have any Best Practice for testing
2016/06/04 面试题
有兼职工作经历的简历自我评价
2014/03/07 职场文书
离职保密承诺书
2014/05/28 职场文书
垃圾分类的活动方案
2014/08/15 职场文书
停电通知范文
2015/04/16 职场文书
公司员工宿舍管理制度
2015/08/03 职场文书
PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题
2021/04/03 Python
Java中的随机数Random
2022/03/17 Java/Android