i漂泊

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3915|回复: 0

PHP获取MAC地址

[复制链接]
TA的礼物信息
  • 收到:0
  • 送出:2
发表于 2013-7-16 19:26:20 | 显示全部楼层 |阅读模式
获取网卡的MAC地址原码;目前支持WIN/LINUX系统 获取机器网卡的物理(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. ?>
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|IPiaoBo Inc. ( 渝ICP备17002826号 )

GMT+8, 2024-5-6 00:50 , Processed in 0.066142 second(s), 43 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表