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 23 PHP
php桌面中心(二) 数据库写入
Mar 11 PHP
PHP网站安装程序制作的原理、步骤、注意事项和示例代码
Aug 01 PHP
php方法调用模式与函数调用模式简例
Sep 20 PHP
解析thinkphp中的导入文件标签
Jun 20 PHP
编写Smarty插件在模板中直接加载数据的详细介绍
Jun 26 PHP
php实现图片等比例缩放代码
Jul 23 PHP
PHP调试的强悍利器之PHPDBG
Feb 22 PHP
php 数组字符串搜索array_search技巧
Jul 05 PHP
ucenter中词语过滤原理分析
Jul 13 PHP
弹出模态框modal的实现方法及实例
Sep 19 PHP
PHP isset()及empty()用法区别详解
Aug 29 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
PHP内核探索:变量概述
2014/01/30 PHP
Docker 如何布置PHP开发环境
2016/06/21 PHP
js 图片缩放(按比例)控制代码
2009/05/27 Javascript
支持ie与FireFox的剪切板操作代码
2009/09/28 Javascript
JS中的public和private对象,即static修饰符
2012/01/18 Javascript
js简单实现让文本框内容逐个字的显示出来
2013/10/22 Javascript
javascript分页代码实例分享(js分页)
2013/12/13 Javascript
利用js实现在浏览器状态栏显示访问者在本页停留的时间
2013/12/29 Javascript
jQuery实现左右切换焦点图
2015/04/03 Javascript
手机端转盘抽奖代码分享
2015/09/10 Javascript
javascript正则表达式中分组详解
2016/07/17 Javascript
html+js+highcharts绘制圆饼图表的简单实例
2016/08/04 Javascript
jQuery中 $ 符号的冲突问题及解决方案
2016/11/04 Javascript
jQuery ajax的功能实现方法详解
2017/01/06 Javascript
Vue实现动态响应数据变化
2017/04/28 Javascript
jQuery选择器之子元素过滤选择器
2017/09/28 jQuery
React 无状态组件(Stateless Component) 与高阶组件
2018/08/14 Javascript
Vue 中的受控与非受控组件的实现
2018/12/17 Javascript
angular8和ngrx8结合使用的步骤介绍
2019/12/01 Javascript
js事件机制----捕获与冒泡机制实例分析
2020/05/22 Javascript
解决vuex改变了state的值,但是页面没有更新的问题
2020/11/12 Javascript
node.js通过Sequelize 连接MySQL的方法
2020/12/28 Javascript
[02:19]2018年度DOTA2最佳核心位选手-完美盛典
2018/12/17 DOTA
python中redis的安装和使用
2016/12/04 Python
Python利用scapy实现ARP欺骗的方法
2019/07/23 Python
代码总结Python2 和 Python3 字符串的区别
2020/01/28 Python
Pandas之缺失数据的实现
2021/01/06 Python
美国户外运动商店:Sun & Ski
2018/08/23 全球购物
理工类毕业自我鉴定
2014/02/20 职场文书
公司请假条格式
2014/04/11 职场文书
小学校长个人总结
2015/03/03 职场文书
就业导师推荐信范文
2015/03/27 职场文书
新店开业策划方案怎么书写?
2019/07/05 职场文书
酒店工程部的岗位职责汇总大全
2019/10/23 职场文书
apache基于端口创建虚拟主机的示例
2021/04/22 Servers
Python opencv缺陷检测的实现及问题解决
2021/04/24 Python