PHP 获取网卡物理地址

来源:csdn博客 分类: 文章浏览史 发布时间:2022-04-24 13:43:35 最后更新:2022-04-24 浏览:255
转载声明:
本文为摘录自“csdn博客”,版权归原作者所有。
温馨提示:
为了更好的体验,请点击原文链接进行浏览
摘录时间:
2022-04-24 13:43:35
/** 
获取网卡的MAC地址原码;目前支持WIN/LINUX系统 
获取机器网卡的物理(MAC)地址 
**/
function GetMacAddr($os_type){
    $return_array=array();
    $mac_addr='';

    switch ( strtolower($os_type) ){
        case "linux":
            @exec("ifconfig -a", $return_array);
            break;
        case "solaris":
            break;
        case "unix":
            break;
        case "aix":
            break;
        default:
            @exec("ipconfig /all", $return_array);
            if (!$return_array){
                $ipconfig = $_SERVER["WINDIR"]."\system32\ipconfig.exe";
                if ( is_file($ipconfig) )
                    @exec($ipconfig." /all", $return_array);
                else
                    @exec($_SERVER["WINDIR"]."\system\ipconfig.exe /all", $return_array);
            }
            break;
    }

    $temp_array = array();
    foreach( $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 )){
            
            $mac_addr = $temp_array[0];
            break;
        }
    }
    unset($return_array);
    unset($temp_array);
    return $mac_addr;
}

//方法使用
echo GetMacAddr(PHP_OS);

php技术微信