>백엔드 개발 >PHP 튜토리얼 >PHP는 네트워크 카드의 원래 MAC 주소를 얻고 WIN/LINUX 시스템을 지원합니다.

PHP는 네트워크 카드의 원래 MAC 주소를 얻고 WIN/LINUX 시스템을 지원합니다.

WBOY
WBOY원래의
2016-07-29 08:49:47960검색

<code><span><span><?php</span><span>/**
* 获取网卡的MAC地址原码;目前支持WIN/LINUX系统
* 获取机器网卡的物理(MAC)地址
*/</span><span><span>class</span><span>GetMacAddr</span>
{</span><span>var</span><span>$return_array</span> = <span>array</span>(); <span>// 返回带有MAC地址的字串数组</span><span>var</span><span>$mac_addr</span>;
    <span>public</span><span><span>function</span><span>GetMacAddr</span><span>(<span>$os_type</span>)</span>
    {</span><span>switch</span> ( strtolower(<span>$os_type</span>) )
        {
            <span>case</span><span>"linux"</span>:
                <span>$this</span>->forLinux();
            <span>break</span>;
            <span>case</span><span>"solaris"</span>:
            <span>break</span>;
            <span>case</span><span>"unix"</span>:
            <span>break</span>;
            <span>case</span><span>"aix"</span>:
            <span>break</span>;
            <span>default</span>:
                <span>$this</span>->forWindows();
            <span>break</span>;
        }
        <span>$temp_array</span> = <span>array</span>();
        <span>foreach</span> ( <span>$this</span>->return_array <span>as</span><span>$value</span> )
        {
            <span>if</span> (preg_match(<span>"/[0-9a-f][0-9a-f][:-]"</span>.<span>"[0-9a-f][0-9a-f][:-]"</span>.<span>"[0-9a-f][0-9a-f][:-]"</span>.<span>"[0-9a-f][0-9a-f][:-]"</span>.<span>"[0-9a-f][0-9a-f][:-]"</span>.<span>"[0-9a-f][0-9a-f]/i"</span>,<span>$value</span>,<span>$temp_array</span> ))
            {
                <span>$this</span>->mac_addr = <span>$temp_array</span>[<span>0</span>];
                <span>break</span>;
            }
        }
        <span>unset</span>(<span>$temp_array</span>);
        <span>return</span><span>$this</span>->mac_addr;
    }  

    <span>public</span><span><span>function</span><span>forWindows</span><span>()</span>
    {</span>
        @exec(<span>"ipconfig /all"</span>, <span>$this</span>->return_array);
        <span>if</span> ( <span>$this</span>->return_array )
            <span>return</span><span>$this</span>->return_array;
        <span>else</span>
        {
            <span>$ipconfig</span> = <span>$_SERVER</span>[<span>"WINDIR"</span>].<span>"\system32\ipconfig.exe"</span>;
            <span>if</span> ( is_file(<span>$ipconfig</span>) )
                @exec(<span>$ipconfig</span>.<span>" /all"</span>, <span>$this</span>->return_array);
            <span>else</span>
                @exec(<span>$_SERVER</span>[<span>"WINDIR"</span>].<span>"\system\ipconfig.exe /all"</span>, <span>$this</span>->return_array);
            <span>return</span><span>$this</span>->return_array;
        }
    }  

    <span>public</span><span><span>function</span><span>forLinux</span><span>()</span>
    {</span>
        @exec(<span>"ifconfig -a"</span>, <span>$this</span>->return_array);
        <span>return</span><span>$this</span>->return_array;
    }
}
<span>//方法使用</span><span>$mac</span> = <span>new</span> GetMacAddr(PHP_OS);
<span>echo</span><span>$mac</span>->mac_addr;
</span></span></code>
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

위 내용은 네트워크 카드의 원래 MAC 주소를 얻기 위한 PHP를 소개합니다. Linux 시스템과 Mac 주소를 포함하여 WIN/LINUX 시스템을 지원하므로 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.