PHP获取MAC地址的函数代码


Posted in PHP onSeptember 11, 2011
<?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; 
?>
PHP 相关文章推荐
PHP学习资料汇总与网址
Mar 16 PHP
PHP文件读写操作之文件写入代码
Jan 13 PHP
不支持fsockopen但支持culr环境下下ucenter与modoer通讯问题
Aug 12 PHP
php获取表单中多个同名input元素的值
Mar 20 PHP
PHP实现XML与数据格式进行转换类实例
Jul 29 PHP
PHP中Socket连接及读写数据超时问题分析
Jul 19 PHP
详解PHP中websocket的使用方法
Sep 15 PHP
php set_include_path函数设置 include_path 配置选项
Oct 30 PHP
PHP foreach遍历多维数组实现方式
Nov 16 PHP
Vagrant(WSL)+PHPStorm+Xdebu 断点调试环境搭建
Dec 13 PHP
PHP实现抽奖功能实例代码
Jun 30 PHP
php+laravel 扫码二维码签到功能
May 15 PHP
PHP内核介绍及扩展开发指南―基础知识
Sep 11 #PHP
PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍
Sep 11 #PHP
20个PHP常用类库小结
Sep 11 #PHP
php各种编码集详解和以及在什么情况下进行使用
Sep 11 #PHP
php正则表达式(regar expression)
Sep 10 #PHP
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
Sep 09 #PHP
判断PHP数组是否为空的代码
Sep 08 #PHP
You might like
php数组的一些常见操作汇总
2011/07/17 PHP
深入解析PHP中SESSION反序列化机制
2017/03/01 PHP
JavaScript脚本性能优化注意事项
2008/11/18 Javascript
javascript小数计算出现近似值的解决办法
2010/02/06 Javascript
ECMAScript6的新特性箭头函数(Arrow Function)详细介绍
2014/06/07 Javascript
原生js结合html5制作小飞龙的简易跳球
2015/03/30 Javascript
ES6正则表达式的一些新功能总结
2017/05/09 Javascript
开发Vue树形组件的示例代码
2017/12/21 Javascript
jQuery选择器之基本选择器用法实例分析
2019/02/19 jQuery
node中实现删除目录的几种方法
2019/06/24 Javascript
使用Vue 实现滑动验证码功能
2019/06/27 Javascript
微信小程序全局变量改变监听的实现方法
2019/07/15 Javascript
vue+django实现一对一聊天功能的实例代码
2019/07/17 Javascript
javascript this指向相关问题及改变方法
2020/11/19 Javascript
[01:07:21]NAVI vs VG Supermajor 败者组 BO3 第二场 6.5
2018/06/06 DOTA
基于python中pygame模块的Linux下安装过程(详解)
2017/11/09 Python
在Django中URL正则表达式匹配的方法
2018/12/20 Python
Flask项目中实现短信验证码和邮箱验证码功能
2019/12/05 Python
python多进程重复加载的解决方式
2019/12/13 Python
python+selenium+PhantomJS抓取网页动态加载内容
2020/02/25 Python
澳大利亚窗帘商店:Curtain Wonderland
2019/12/01 全球购物
super关键字的用法
2012/04/10 面试题
介绍一下木马病毒的种类
2015/07/26 面试题
药学专业大学生个人的自我评价
2013/11/04 职场文书
五年级语文教学反思
2014/01/30 职场文书
电大毕业自我鉴定
2014/02/03 职场文书
节能环保口号
2014/06/12 职场文书
公司委托书格式范本
2014/09/16 职场文书
2014年最新领导班子整改方案
2014/09/27 职场文书
小学三八妇女节活动总结
2015/02/06 职场文书
暑期实践个人总结
2015/03/06 职场文书
2015年劳动部工作总结
2015/05/23 职场文书
完美解决golang go get私有仓库的问题
2021/05/05 Golang
jQuery ajax - getScript() 方法和getJSON方法
2021/05/14 jQuery
详解Java分布式事务的 6 种解决方案
2021/06/26 Java/Android
GoFrame gredis缓存DoVar Conn连接对象 自动序列化GoFrame gredisDo/DoVar方法Conn连接对象自动序列化/反序列化总结
2022/06/14 Golang