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作的文本留言本的例子(二)
Oct 09 PHP
php抓即时股票信息
Oct 09 PHP
说明的比较细的php 正则学习实例
Jul 30 PHP
深入Apache与Nginx的优缺点比较详解
Jun 17 PHP
php计算指定目录下文件占用空间的方法
Mar 13 PHP
php上传文件并显示上传进度的方法
Mar 24 PHP
php实现在多维数组中查找特定value的方法
Jul 29 PHP
WordPress中登陆后关闭登陆页面及设置用户不可见栏目
Dec 31 PHP
thinkPHP内置字符串截取函数用法详解
Nov 15 PHP
PHP实现转盘抽奖算法分享
Apr 15 PHP
thinkPHP3.2.2框架行为扩展及demo示例
Jun 19 PHP
tp5修改(实现即点即改)
Oct 18 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程序报date()警告的处理(date_default_timezone_set)
2013/10/22 PHP
Laravel5.1自定义500错误页面示例
2016/10/09 PHP
基于jQuery的仿flash的广告轮播
2010/11/05 Javascript
JavaScript学习笔记(一) js基本语法
2011/10/25 Javascript
js动态改变select选择变更option的index值示例
2014/07/10 Javascript
JavaScript返回网页中锚点数目的方法
2015/04/03 Javascript
jQuery实现企业网站横幅焦点图切换功能实例
2015/04/30 Javascript
简单的jQuery入门指引
2015/07/28 Javascript
jQuery对checkbox 复选框的全选全不选反选的操作
2016/08/09 Javascript
Javascript实现前端简单的路由实例
2016/09/11 Javascript
JavaScript中apply方法的应用技巧小结
2016/09/29 Javascript
基于Nodejs利用socket.io实现多人聊天室
2017/02/22 NodeJs
原生js实现可拖拽效果
2017/02/28 Javascript
Vue键盘事件用法总结
2017/04/18 Javascript
利用vue组件自定义v-model实现一个Tab组件方法示例
2017/12/06 Javascript
Vue仿今日头条实例详解
2018/02/06 Javascript
详解node登录接口之密码错误限制次数(含代码)
2019/10/25 Javascript
js实现盒子滚动动画效果
2020/08/09 Javascript
nodejs+koa2 实现模仿springMVC框架
2020/10/21 NodeJs
vue开发chrome插件,实现获取界面数据和保存到数据库功能
2020/12/01 Vue.js
vue 递归组件的简单使用示例
2021/01/14 Vue.js
JavaScript 生成唯一ID的几种方式
2021/02/19 Javascript
探究数组排序提升Python程序的循环的运行效率的原因
2015/04/01 Python
Python使用email模块对邮件进行编码和解码的实例教程
2016/07/01 Python
django2.0扩展用户字段示例
2019/02/13 Python
python async with和async for的使用
2019/06/20 Python
Python 爬虫批量爬取网页图片保存到本地的实现代码
2020/12/24 Python
Ted Baker英国官网:男士和女士服装及配件
2017/03/13 全球购物
Java方面的关于数组和继承的笔面试题
2015/09/18 面试题
一份软件工程师的面试试题
2016/02/01 面试题
艺术节主持词
2014/04/02 职场文书
优秀班主任事迹材料
2014/12/16 职场文书
Nginx反向代理多个服务器的实现方法
2021/03/31 Servers
angular异步验证器防抖实例详解
2022/03/31 Javascript
Golang ort 中的sortInts 方法
2022/04/24 Golang
Meta增速拉垮,元宇宙难当重任
2022/04/29 数码科技