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 增加了对 .ZIP 文件的读取功能
Oct 09 PHP
PHP 利用AJAX获取网页并输出的实现代码(Zjmainstay)
Aug 31 PHP
PHP中使用gettext解决国际化问题的例子(i18n)
Jun 13 PHP
php实现网页缓存的工具类分享
Jul 14 PHP
PHP封装的数据库保存session功能类
Jul 11 PHP
thinkPHP简单导入和使用阿里云OSSsdk的方法
Mar 15 PHP
Thinkphp实现站点静态化的方法详解
Mar 21 PHP
PHP 网站修改默认访问文件的nginx配置
May 27 PHP
PHP操作Redis数据库常用方法示例
Aug 25 PHP
Laravel5.4框架使用socialite实现github登录的方法
Mar 20 PHP
Swoole4.4协程抢占式调度器详解
May 23 PHP
php TP5框架生成二维码链接
Apr 01 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
8个出色的WordPress SEO插件收集
2011/02/26 PHP
pdo中使用参数化查询sql
2011/08/11 PHP
PHP中time(),date(),mktime()区别介绍
2013/09/28 PHP
php二分查找二种实现示例
2014/03/12 PHP
php上传功能集后缀名判断和随机命名(强力推荐)
2015/09/10 PHP
PHP中register_shutdown_function函数的基础介绍与用法详解
2017/11/28 PHP
THINKPHP3.2使用soap连接webservice的解决方法
2017/12/13 PHP
在thinkphp5.0路径中实现去除index.php的方式
2019/10/16 PHP
CI框架简单分页类用法示例
2020/06/06 PHP
[推荐]javascript 面向对象技术基础教程
2009/03/03 Javascript
JavaScript中的toLocaleLowerCase()方法使用详解
2015/06/06 Javascript
JavaScript中判断两个字符串是否相等的方法
2015/07/07 Javascript
Javascript打印局部页面实例
2016/06/21 Javascript
nodejs前端自动化构建环境的搭建
2017/07/26 NodeJs
解决Vue不能检测数组或对象变动的问题
2018/02/24 Javascript
基于Vue渲染与插件的加载顺序的问题详解
2018/03/05 Javascript
浅谈让你的代码更简短,更整洁,更易读的ES6小技巧
2018/10/25 Javascript
java和js实现的洗牌小程序
2019/09/30 Javascript
vue 组件内获取actions的response方式
2019/11/08 Javascript
javascript实现切割轮播效果
2019/11/28 Javascript
原生javascript实现类似vue的数据绑定功能示例【观察者模式】
2020/02/24 Javascript
Python中执行存储过程及获取存储过程返回值的方法
2017/10/07 Python
python爬虫的数据库连接问题【推荐】
2018/06/25 Python
Python实用技巧之列表、字典、集合中根据条件筛选数据详解
2018/07/11 Python
Python中按键来获取指定的值
2019/03/02 Python
解决Tensorflow 使用时cpu编译不支持警告的问题
2020/02/03 Python
Python绘图之柱形图绘制详解
2020/07/28 Python
css3模拟jq点击事件的实例代码
2017/07/06 HTML / CSS
CSS3 box-shadow属性实例详解
2020/06/19 HTML / CSS
萌新的HTML5 入门指南
2020/11/06 HTML / CSS
大学生毕业求职找工作的自我评价
2013/09/29 职场文书
《木笛》教学反思
2014/03/01 职场文书
乡村教师党员四风问题对照检查材料思想汇报
2014/10/08 职场文书
公司前台接待岗位职责
2015/04/03 职场文书
素质教育学习心得体会
2016/01/19 职场文书
MySQL中distinct与group by之间的性能进行比较
2021/05/26 MySQL