当前位置: 首页 > news >正文

php获取网卡的MAC地址原码;目前支持WIN/LINUX系统

<?php 
/** 
    获取网卡的MAC地址原码;目前支持WIN/LINUX系统 
    获取机器网卡的物理(MAC)地址 
**/       
class GetMacAddr{  
            var $return_array = array(); // 返回带有MAC地址的字串数组 
            var $mac_addr;         
            function GetMacAddr($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 GetMacAddr(PHP_OS); 
echo $mac->mac_addr; 
?>

相关文章:

  • Likeshop多商户商城源码系统,支持二开
  • 构建知识图谱:从技术到实战的完整指南
  • React16源码: React中context-stack的源码实现
  • C#调用SqlSugar操作达梦数据库报错“无效的表或视图名”
  • 消息中间件之八股面试回答篇:三、RabbitMQ如何解决消息堆积问题(100万条消息堆积)+RabbitMQ高可用性和强一致性机制+回答模板
  • Datawhale 组队学习Task8大模型的有害性(上/下)
  • 毕业找工作只会C语言是不是完蛋了?
  • 当代码遇上玄学……
  • SRE-Redis基本概念篇
  • 初识elasticsearch
  • 内网安全:NTLM-Relay
  • 幻兽帕鲁服务器出租,腾讯云PK阿里云怎么收费?
  • 计算机网络——网络层(2)
  • c#之构值类型和引用类型
  • 4核16G幻兽帕鲁服务器优惠价格表,阿里云和腾讯云报价
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • [case10]使用RSQL实现端到端的动态查询
  • 【Amaple教程】5. 插件
  • Druid 在有赞的实践
  • jdbc就是这么简单
  • Mac转Windows的拯救指南
  • python_bomb----数据类型总结
  • Python连接Oracle
  • React as a UI Runtime(五、列表)
  • Redis 懒删除(lazy free)简史
  • vuex 笔记整理
  • WebSocket使用
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 开源地图数据可视化库——mapnik
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 通信类
  • 正则表达式
  • 正则与JS中的正则
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • #Linux(Source Insight安装及工程建立)
  • (12)Linux 常见的三种进程状态
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (LeetCode 49)Anagrams
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (补)B+树一些思想
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (附源码)计算机毕业设计大学生兼职系统
  • (剑指Offer)面试题34:丑数
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (一)插入排序
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .equals()到底是什么意思?
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET delegate 委托 、 Event 事件
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .net mvc actionresult 返回字符串_.NET架构师知识普及
  • .net Stream篇(六)
  • .net与java建立WebService再互相调用