Java世界

学习笔记

常用链接

统计

积分与排名

天籁村

新华网

雅虎

最新评论

php获取网卡的mac地址

  1. <?php   
  2. /**  
  3. 获取网卡的MAC地址原码;目前支持WIN/LINUX系统  
  4. 获取机器网卡的物理(MAC)地址  
  5. **/   
  6.   
  7. class  GetMacAddr{   
  8.   
  9.         var   $return_array  =  array ();  // 返回带有MAC地址的字串数组   
  10.         var   $mac_addr ;   
  11.   
  12.         function  GetMacAddr( $os_type ){   
  13.              switch  (  strtolower ( $os_type ) ){   
  14.                       case   "linux" :   
  15.                                 $this ->forLinux();   
  16.                                 break ;   
  17.                       case   "solaris" :   
  18.                                 break ;   
  19.                       case   "unix" :   
  20.                                 break ;   
  21.                       case   "aix" :   
  22.                                 break ;   
  23.                       default :   
  24.                                 $this ->forWindows();   
  25.                                 break ;   
  26.   
  27.             }   
  28.   
  29.               
  30.              $temp_array  =  array ();   
  31.              foreach  (  $this ->return_array  as   $value  ){   
  32.   
  33.                        if  (   
  34. 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 ,   
  35. $temp_array  ) ){   
  36.                                 $this ->mac_addr =  $temp_array [0];   
  37.                                 break ;   
  38.                      }   
  39.   
  40.             }   
  41.             unset( $temp_array );   
  42.              return   $this ->mac_addr;   
  43.        }   
  44.   
  45.   
  46.         function  forWindows(){   
  47.             @ exec ( "ipconfig /all" $this ->return_array);   
  48.              if  (  $this ->return_array )   
  49.                       return   $this ->return_array;   
  50.              else {   
  51.                       $ipconfig  =  $_SERVER [ "WINDIR" ]. "\system32\ipconfig.exe" ;   
  52.                       if  (  is_file ( $ipconfig ) )   
  53.                         @ exec ( $ipconfig . " /all" $this ->return_array);   
  54.                       else   
  55.                         @ exec ( $_SERVER [ "WINDIR" ]. "\system\ipconfig.exe /all" $this ->return_array);   
  56.                       return   $this ->return_array;   
  57.             }   
  58.        }   
  59.   
  60.   
  61.   
  62.         function  forLinux(){   
  63.             @ exec ( "ifconfig -a" $this ->return_array);   
  64.              return   $this ->return_array;   
  65.        }   
  66.   
  67. }   
  68. //方法使用   
  69. //$mac = new GetMacAddr(PHP_OS);   
  70. //echo $mac->mac_addr;   
  71. ?>  

posted on 2008-12-26 10:17 Rabbit 阅读(680) 评论(1)  编辑  收藏

评论

# re: php获取网卡的mac地址 2009-05-01 11:17 大盛大

应该是先 用 ping 在用 arp来查吧

  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航: