php获取网卡的mac地址 - IDC资讯网_站长学院 - Java PHP Flex Python Ajax CSS 编程 开源 学习 总结 分享

php获取网卡的mac地址

[ 2008-05-09 18:44 | by 草山湖 ]
php获取网卡的mac地址


<?php
/**
获取网卡的MAC地址原码;目前支持WIN/LINUX系统
获取机器网卡的物理(MAC)地址
**/


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;
?>
 
编程语言 | 评论(0) | 引用(0) | 阅读(5732)