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 相关文章推荐
屏蔽浏览器缓存另类方法
Oct 09 PHP
PHP更新购物车数量(表单部分/PHP处理部分)
May 03 PHP
如何修改和添加Apache的默认站点目录
Jul 05 PHP
PHPer 需要了解的 5 个 Composer 小技巧
Aug 18 PHP
php实现约瑟夫问题的方法小结
Mar 23 PHP
PHP的Yii框架中YiiBase入口类的扩展写法示例
Mar 17 PHP
php数据访问之增删改查操作
May 09 PHP
PHP mysqli_free_result()与mysqli_fetch_array()函数详解
Sep 21 PHP
Mac下php 5升级到php 7的步骤详解
Apr 26 PHP
PHP使用标准库spl实现的观察者模式示例
Aug 04 PHP
详解PHP神奇又有用的Trait
Mar 25 PHP
浅谈php常用的7大框架的优缺点
Jul 20 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读取数据库信息的几种方法
2008/05/24 PHP
PHP数组交集的优化代码分析
2011/03/06 PHP
使用淘宝IP库获取用户ip地理位置
2013/10/27 PHP
laravel框架创建授权策略实例分析
2019/11/22 PHP
JavaScript 学习点滴记录
2009/04/24 Javascript
js 遍历json返回的map内容示例代码
2013/10/29 Javascript
jQuery中get和post方法传值测试及注意事项
2014/08/08 Javascript
轻松创建nodejs服务器(7):阻塞操作的实现
2014/12/18 NodeJs
JS实现向表格行添加新单元格的方法
2015/03/30 Javascript
JS简单实现多级Select联动菜单效果代码
2015/09/06 Javascript
Jquery-1.9.1源码分析系列(十一)之DOM操作
2015/11/25 Javascript
JavaScript 2048 游戏实例代码(简单易懂)
2016/03/25 Javascript
BootStrap 智能表单实战系列(五) 表单依赖插件处理
2016/06/13 Javascript
AngularJS打开页面隐藏显示表达式用法示例
2016/12/25 Javascript
jQuery实现在新增加的元素上添加事件方法案例分析
2017/02/09 Javascript
Node.js+jade抓取博客所有文章生成静态html文件的实例
2017/09/19 Javascript
JavaScript 作用域实例分析
2019/10/02 Javascript
Vue-cli项目部署到Nginx服务器的方法
2019/11/01 Javascript
vue实现修改图片后实时更新
2019/11/14 Javascript
Python实现根据指定端口探测服务器/模块部署的方法
2014/08/25 Python
零基础写python爬虫之HTTP异常处理
2014/11/05 Python
python读取二进制mnist实例详解
2017/05/31 Python
django实现同一个ip十分钟内只能注册一次的实例
2017/11/03 Python
CentOS 6.5中安装Python 3.6.2的方法步骤
2017/12/03 Python
python中字符串变二维数组的实例讲解
2018/04/03 Python
python 读取DICOM头文件的实例
2018/05/07 Python
Python设计模式之组合模式原理与用法实例分析
2019/01/11 Python
Python3操作读写CSV文件使用包过程解析
2020/04/10 Python
Python学习之路之pycharm的第一个项目搭建过程
2020/06/18 Python
python可以用哪些数据库
2020/06/22 Python
MYSQL支持事务吗
2013/08/09 面试题
致200米运动员广播稿
2014/02/06 职场文书
幼儿老师求职信
2014/06/30 职场文书
离婚协议书范本
2015/01/26 职场文书
初婚初育证明范本
2015/06/18 职场文书
详解Django的MVT设计模式
2021/04/29 Python