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

WBOY
Release: 2016-06-23 13:57:07
Original
1439 people have browsed it

获取服务器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;             }        }     } } ?>   
Copy after login

获取客户端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;
Copy after login
注:客户端获取的mac不能在本机测试,只能用别的电脑访问才能输出

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template