php 获取网卡物理(MAC)地址的实现方法

内容摘要
这篇文章主要为大家详细介绍了php 获取网卡物理(MAC)地址的实现方法,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记。经测试代码如下:

/**
文章正文

这篇文章主要为大家详细介绍了php 获取网卡物理(MAC)地址的实现方法,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记。经测试代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<code class="php">
/**
 *  获取网卡物理(MAC)地址
 *
 * @param
 * @author php教程 www.idcnote.com
 **/
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教程(www.idcnote.com)   ***/</code>

注:关于php 获取网卡物理(MAC)地址的实现方法的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!