PHP获取MAC地址的函数代码

yipeiwu_com5年前PHP代码库

复制代码 代码如下:

<?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的Yii框架中使用行为Behaviors的方法

一个绑定了行为的类,表现起来是这样的: // Step 1: 定义一个将绑定行为的类 class MyClass extends yii\base\Component { //...

php使用Jpgraph绘制3D饼状图的方法

php使用Jpgraph绘制3D饼状图的方法

本文实例讲述了php使用Jpgraph绘制3D饼状图的方法。分享给大家供大家参考。具体实现方法如下: <?php include ("src/jpgraph.php"...

PHP可变函数的使用详解

PHP 支持可变函数的概念。这意味着如果一个变量名后有圆括号,PHP 将寻找与变量的值同名的函数,并且尝试执行它。可变函数可以用来实现包括回调函数,函数表在内的一些用途。 变量函数不能用...

PHP数组排序函数合集 以及它们之间的联系分析

下边提到的几个数组函数的排序有一些共性:1 数组被作为排序函数的参数,排序以后,数组本身就发生了改变,函数的返回值为bool类型。2 函数名中出现单a表示association,含义为,...

php基于双向循环队列实现历史记录的前进后退等功能

本文实例讲述了php基于双向循环队列实现历史记录的前进后退等功能。分享给大家供大家参考。具体如下: 为实现一个记录操作历史的功能 1. 和撤销,反撤销功能类似的一个功能。(实现操作的前进...