热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

PHP获取MAC地址

获取网卡的MAC地址原码;目前支持WIN/LINUX系统获取机器网卡的物理(MAC)地址?php/**获取网卡的MAC地址原码;目前支持WIN/LINUX系统获取机器网卡的物理(MAC)地址**/classGetMacAddr{var$return_array=array();//返回带有M

   获取网卡的MAC地址原码;目前支持WIN/LINUX系统 获取机器网卡的物理(MAC)地址

 

 

 

  1. /**  
  2. 获取网卡的MAC地址原码;目前支持WIN/LINUX系统  
  3. 获取机器网卡的物理(MAC)地址  
  4. **/  
  5.     
  6. class GetMacAddr{  
  7.     
  8.         var $return_array = array(); // 返回带有MAC地址的字串数组  
  9.         var $mac_addr;  
  10.     
  11.         function GetMacAddr($os_type){  
  12.              switch ( strtolower($os_type) ){  
  13.                       case "linux":  
  14.                                 $this->forLinux();  
  15.                                 break;  
  16.                       case "solaris":  
  17.                                 break;  
  18.                       case "unix":  
  19.                                  break;  
  20.                        case "aix":  
  21.                                  break;  
  22.                        default:  
  23.                                  $this->forWindows();  
  24.                                  break;  
  25.      
  26.               }  
  27.      
  28.                 
  29.               $temp_array = array();  
  30.               foreach ( $this->return_array as $value ){  
  31.      
  32.                         if (  
  33. 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,  
  34. $temp_array ) ){  
  35.                                  $this->mac_addr = $temp_array[0];  
  36.                                  break;  
  37.                        }  
  38.      
  39.               }  
  40.               unset($temp_array);  
  41.               return $this->mac_addr;  
  42.          }  
  43.      
  44.      
  45.          function forWindows(){  
  46.               @exec("ipconfig /all"$this->return_array);  
  47.               if ( $this->return_array )  
  48.                        return $this->return_array;  
  49.               else{  
  50.                        $ipconfig = $_SERVER["WINDIR"]."\system32\ipconfig.exe";  
  51.                        if ( is_file($ipconfig) )  
  52.                           @exec($ipconfig." /all"$this->return_array);  
  53.                        else  
  54.                           @exec($_SERVER["WINDIR"]."\system\ipconfig.exe /all"$this->return_array);  
  55.                        return $this->return_array;  
  56.               }  
  57.          }  
  58.      
  59.      
  60.      
  61.          function forLinux(){  
  62.               @exec("ifconfig -a"$this->return_array);  
  63.               return $this->return_array;  
  64.          }  
  65.      
  66. }  
  67. //方法使用  
  68. //$mac = new GetMacAddr(PHP_OS);  
  69. //echo $mac->mac_addr;  
  70. ?> 

 


推荐阅读
  • 如何在Linux系统中利用crontab定时执行Shell脚本任务?
    在Linux系统中,如何实现定时执行任务脚本?在服务器日常运维过程中,经常需要定期执行某些任务,例如数据库备份、日志文件切割等。通过使用crontab工具,可以轻松配置这些周期性任务,确保它们按时自动运行,提高系统管理效率和可靠性。 ... [详细]
  • 如何在Oracle ASM_Diskgroup中重命名现有磁盘
    如何在Oracle ASM_Diskgroup中重命名现有磁盘 ... [详细]
  • 本文首先对信息漏洞的基础知识进行了概述,重点介绍了几种常见的信息泄露途径。具体包括目录遍历、PHPINFO信息泄露以及备份文件的不当下载。其中,备份文件下载涉及网站源代码、`.bak`文件、Vim缓存文件和`DS_Store`文件等。目录遍历漏洞的详细分析为后续深入研究奠定了基础。 ... [详细]
  • 本文详细介绍了使用响应文件在静默模式下安装和配置Oracle 11g的方法。硬件要求包括:内存至少1GB,具体可通过命令`grep -i memtotal /proc/meminfo`进行检查。此外,还提供了详细的步骤和注意事项,确保安装过程顺利进行。 ... [详细]
  • 从无到有,构建个人专属的操作系统解决方案
    操作系统(OS)被誉为程序员的三大浪漫之一,常被比喻为计算机的灵魂、大脑、内核和基石,其重要性不言而喻。本文将详细介绍如何从零开始构建个人专属的操作系统解决方案,涵盖从需求分析到系统设计、开发与测试的全过程,帮助读者深入理解操作系统的本质与实现方法。 ... [详细]
  • 在Linux系统中,目录结构遵循文件系统层次标准(FHS),确保了系统的组织性和可维护性。其中,`/bin`目录是FHS要求必须存在的目录之一,主要存放了在单用户维护模式下仍可执行的基本命令和工具。这些命令不仅对root用户可用,普通用户也能使用,以确保系统在最小化运行状态下仍能进行基本的操作和管理。 ... [详细]
  • openGauss行存储核心架构及其页面组织详解
    行存储的核心架构和页面组织是实现DML操作、可见性判断及多种管理功能的基础。作为基于磁盘的存储引擎,行存储在设计上采用了段页式结构,以优化数据的存储和访问效率。这种设计不仅确保了数据的高效存储,还为行存储的各种高级功能提供了坚实的技术支持。 ... [详细]
  • 在Linux环境下安装Oracle 11g时,经常会遇到中文显示异常的问题。本文详细介绍了如何解决安装界面中的中文乱码现象,确保用户在安装过程中能够正确显示中文字符。具体步骤包括调整系统语言设置、配置环境变量以及修改Oracle安装文件等方法,以确保安装过程顺利进行。 ... [详细]
  • 如何将PHP文件上传至服务器及正确配置服务器地址 ... [详细]
  • Ceph API微服务实现RBD块设备的高效创建与安全删除
    本文旨在实现Ceph块存储中RBD块设备的高效创建与安全删除功能。开发环境为CentOS 7,使用 IntelliJ IDEA 进行开发。首先介绍了 librbd 的基本概念及其在 Ceph 中的作用,随后详细描述了项目 Gradle 配置的优化过程,确保了开发环境的稳定性和兼容性。通过这一系列步骤,我们成功实现了 RBD 块设备的快速创建与安全删除,提升了系统的整体性能和可靠性。 ... [详细]
  • Python学习:环境配置与安装指南
    Python作为一种跨平台的编程语言,适用于Windows、Linux和macOS等多种操作系统。为了确保本地已成功安装Python,用户可以通过终端或命令行界面输入`python`或`python3`命令进行验证。此外,建议使用虚拟环境管理工具如`venv`或`conda`,以便更好地隔离不同项目依赖,提高开发效率。 ... [详细]
  • 在Linux环境下编译安装Heartbeat时,常遇到依赖库缺失的问题。为确保顺利安装,建议预先通过yum安装必要的开发库,如glib2-devel、libtool-ltdl-devel、net-snmp-devel、bzip2-devel和ncurses-devel等。这些库是编译过程中不可或缺的组件,能够有效避免编译错误,确保Heartbeat的稳定运行。 ... [详细]
  • Python网络爬虫入门:利用urllib库进行数据抓取
    Python网络爬虫入门:利用urllib库进行数据抓取在数据科学和Web开发领域,Python凭借其简洁高效的特性成为首选语言。本文主要介绍了如何在Windows环境下使用Python的urllib库进行基本的网络数据抓取。考虑到命令行操作的不便,作者选择了Jupyter Notebook作为开发环境,不仅简化了配置过程,还提供了直观的数据处理和可视化功能。通过实例演示,读者可以轻松掌握urllib的基本用法,为深入学习网络爬虫技术打下坚实基础。 ... [详细]
  • 本文深入探讨了romfs与rootfs在概念上的区别及其应用场景。romfs通常作为只读文件系统存储在Flash的特定分区中,其起始地址为0x46000000。相比之下,rootfs是系统的根文件系统,负责管理和加载操作系统的核心组件及应用程序。两者在功能和使用场景上存在显著差异,romfs主要用于存储固件和配置文件,而rootfs则涵盖了更广泛的操作系统资源。 ... [详细]
  • 本文详细介绍了如何在Linux系统中搭建51单片机的开发与编程环境,重点讲解了使用Makefile进行项目管理的方法。首先,文章指导读者安装SDCC(Small Device C Compiler),这是一个专为小型设备设计的C语言编译器,适合用于51单片机的开发。随后,通过具体的实例演示了如何配置Makefile文件,以实现代码的自动化编译与链接过程,从而提高开发效率。此外,还提供了常见问题的解决方案及优化建议,帮助开发者快速上手并解决实际开发中可能遇到的技术难题。 ... [详细]
author-avatar
百变精灵99
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有