php获取网卡的MAC地址支持WIN/LINUX系统


Posted in PHP onApril 30, 2014
<?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; //这里是机器的真实MAC地址,请注释掉 
?>
PHP 相关文章推荐
PHP 时间日期操作实战
Aug 26 PHP
奇怪的PHP引用效率问题分析
Mar 23 PHP
PHP 杂谈《重构-改善既有代码的设计》之五 简化函数调用
May 07 PHP
mysql 查询指定日期时间内sql语句实现原理与代码
Dec 16 PHP
浅析PHP原理之变量分离/引用(Variables Separation)
Aug 09 PHP
Windows下安装PHP单元测试环境PHPUnit图文教程
Oct 24 PHP
Smarty中的注释和截断功能介绍
Apr 09 PHP
PHP常用的三种设计模式汇总
Aug 28 PHP
php微信公众号开发(4)php实现自定义关键字回复
Dec 15 PHP
CentOS系统中PHP安装扩展的方式汇总
Apr 09 PHP
PHP实现打包下载文件的方法示例
Oct 07 PHP
php 算法之实现相对路径的实例
Oct 17 PHP
php环境无法上传文件的解决方法
Apr 30 #PHP
php分页示例分享
Apr 30 #PHP
yii框架配置默认controller和action示例
Apr 30 #PHP
yii框架通过控制台命令创建定时任务示例
Apr 30 #PHP
yii框架builder、update、delete使用方法
Apr 30 #PHP
yii框架表单模型使用及以数组形式提交表单数据示例
Apr 30 #PHP
php+js iframe实现上传头像界面无跳转
Apr 29 #PHP
You might like
PHP合并数组+与array_merge的区别分析
2010/08/01 PHP
比较strtr, str_replace和preg_replace三个函数的效率
2013/06/26 PHP
php 变量引用与变量销毁机制详细介绍
2016/12/05 PHP
PHP单例模式实例分析【防继承,防克隆操作】
2019/05/22 PHP
实例化php类时传参的方法分析
2020/06/05 PHP
Alliance vs Liquid BO3 第一场2.13
2021/03/10 DOTA
jquery ui dialog里调用datepicker的问题
2009/08/06 Javascript
jquery 新浪网易的评论块制作
2010/07/01 Javascript
jQuery中:first选择器用法实例
2014/12/30 Javascript
javascript实现下班倒计时效果的方法(可桌面通知)
2015/07/10 Javascript
js给table赋值的实例代码
2016/10/13 Javascript
JS声明式函数与赋值式函数实例分析
2016/12/13 Javascript
jQuery使用DataTable实现删除数据后重新加载功能
2017/02/27 Javascript
基于bootstrap写的一点localStorage本地储存
2017/11/21 Javascript
基于模板引擎Jade的应用(详解)
2017/12/12 Javascript
使用vue中的v-for遍历二维数组的方法
2018/03/07 Javascript
vue router动态路由下让每个子路由都是独立组件的解决方案
2018/04/24 Javascript
Vue中使用vue-i18插件实现多语言切换功能
2018/04/25 Javascript
javascript判断一个变量是数组还是对象
2019/04/10 Javascript
node.js 基于cheerio的爬虫工具的实现(需要登录权限的爬虫工具)
2019/04/10 Javascript
详解Vue路由自动注入实践
2019/04/17 Javascript
详解vue+axios给开发环境和生产环境配置不同的接口地址
2019/08/16 Javascript
javascript网页随机点名实现过程解析
2019/10/15 Javascript
vue 中的 render 函数作用详解
2020/02/28 Javascript
Vue通过Blob对象实现导出Excel功能示例代码
2020/07/31 Javascript
Python基于scrapy采集数据时使用代理服务器的方法
2015/04/16 Python
python中引用与复制用法实例分析
2015/06/04 Python
python2与python3共存问题的解决方法
2018/09/18 Python
关于pytorch多GPU训练实例与性能对比分析
2019/08/19 Python
Python 3.6打包成EXE可执行程序的实现
2019/10/18 Python
深入了解Python装饰器的高级用法
2020/08/13 Python
授权委托书
2014/07/31 职场文书
防灾减灾日活动总结
2014/08/26 职场文书
广告公司文案策划岗位职责
2015/04/14 职场文书
python lambda 表达式形式分析
2022/04/03 Python
JS精髓原型链继承及构造函数继承问题纠正
2022/06/16 Javascript