Heim >Backend-Entwicklung >PHP-Tutorial >php获取服务器端mac和客户端mac的地址

php获取服务器端mac和客户端mac的地址

WBOY
WBOYOriginal
2016-06-23 13:57:071467Durchsuche

获取服务器mac

<?php /**  获取网卡的MAC地址原码;目前支持WIN/LINUX系统  获取机器网卡的物理(MAC)地址**/   class GetmacAddr{     var $result = array(); // 返回带有MAC地址的字串数组     var $macAddr;    /*构造*/    function __construct($osType){         switch ( strtolower($osType) ){             case "unix": break;            case "solaris": break;            case "aix": break;            case "linux": {                $this->for_linux_os();            }break;             default: {                 $this->for_windows_os();             }break;         }         $temp_array = array();         foreach($this->result 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->macAddr = $temp_array[0];                 break;             }         }         unset($temp_array);         return $this->macAddr;     }    /*linux系统中获取方法*/    function for_linux_os(){         @exec("ifconfig -a", $this->result);         return $this->result;     }    /*win系统中的获取方法*/    function for_windows_os(){         @exec("ipconfig /all", $this->result);         if ( $this->result ) {            return $this->result;        } else {             $ipconfig = $_SERVER["WINDIR"]."\system32\ipconfig.exe";            if(is_file($ipconfig)) {                @exec($ipconfig." /all", $this->result);            } else {                @exec($_SERVER["WINDIR"]."\system\ipconfig.exe /all", $this->result);                return $this->result;             }        }     } } ?>   

获取客户端mac地址:

@exec("arp -a",$array); //执行arp -a命令,结果放到数组$array中        foreach($array as $value){            //匹配结果放到数组$mac_array            if(strpos($value,$_SERVER["REMOTE_ADDR"]) && preg_match("/(:?[0-9A-F]{2}[:-]){5}[0-9A-F]{2}/i",$value,$mac_array)){                $mac = $mac_array[0];                break;            }        }        echo $mac;
注:客户端获取的mac不能在本机测试,只能用别的电脑访问才能输出

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn