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中显示格式化的用户输入
Oct 09 PHP
php 数学运算验证码实现代码
Oct 11 PHP
php数组函数序列 之shuffle()和array_rand() 随机函数使用介绍
Oct 29 PHP
PHP重定向的3种方式
Mar 07 PHP
php之curl设置超时实例
Nov 03 PHP
orm获取关联表里的属性值
Apr 17 PHP
CodeIgniter连贯操作的底层原理分析
May 17 PHP
php打乱数组二维数组多维数组的简单实例
Jun 17 PHP
thinkPHP+phpexcel实现excel报表输出功能示例
Jun 06 PHP
PHP使用preg_split和explode分割textarea存放内容的方法分析
Jul 03 PHP
php简单实现单态设计模式的方法分析
Jul 28 PHP
PHP单元测试框架PHPUnit用法详解
Jan 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
非常实用的php验证码类
2016/05/15 PHP
php 三元运算符实例详细介绍
2016/12/15 PHP
PHP PDOStatement::fetchAll讲解
2019/01/31 PHP
纯JS实现的批量图片预览加载功能
2011/08/14 Javascript
jQuery中:button选择器用法实例
2015/01/04 Javascript
JavaScript学习笔记之JS事件对象
2015/01/22 Javascript
javascript修改图片src的方法
2015/01/27 Javascript
jQuery修改class属性和CSS样式整理
2015/01/30 Javascript
javascript作用域问题实例分析
2015/07/13 Javascript
javascript实现手机震动API代码
2015/08/05 Javascript
WordPress 单页面上一页下一页的实现方法【附代码】
2016/03/10 Javascript
对js中回调函数的一些看法
2016/08/29 Javascript
AngularJS 限定$scope的范围实例详解
2017/06/23 Javascript
JavaScript实现三级联动效果
2017/07/15 Javascript
解决vue build打包之后首页白屏的问题
2018/03/06 Javascript
vue中的router-view组件的使用教程
2018/10/23 Javascript
jQuery实现消息弹出框效果
2019/12/10 jQuery
[01:10:58]KG vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python互斥锁、加锁、同步机制、异步通信知识总结
2018/02/11 Python
python实现nao机器人手臂动作控制
2019/04/29 Python
在Ubuntu 20.04中安装Pycharm 2020.1的图文教程
2020/04/30 Python
Python xlrd模块导入过程及常用操作
2020/06/10 Python
localStorage、sessionStorage使用总结
2017/11/17 HTML / CSS
英国建筑用品在线:Building Supplies Online(BSO)
2018/04/30 全球购物
英国时尚优质的女装:Hope Fashion
2018/08/14 全球购物
利用指针变量实现队列的入队操作
2012/04/07 面试题
医院护士的求职信范文
2013/12/26 职场文书
省优秀教师事迹材料
2014/01/30 职场文书
城市规划应届毕业生自荐信
2014/07/04 职场文书
四风问题个人对照检查材料
2014/09/26 职场文书
2015医院个人工作总结范文
2015/05/21 职场文书
追讨欠款律师函
2015/05/27 职场文书
zabbix监控mysql的实例方法
2021/06/02 MySQL
Ajax 的初步实现(使用vscode+node.js+express框架)
2021/06/18 Javascript
Python编程super应用场景及示例解析
2021/10/05 Python
python_tkinter事件类型详情
2022/03/20 Python