Heim  >  Artikel  >  php教程  >  PHP erhält MAC-Adresse

PHP erhält MAC-Adresse

大家讲道理
大家讲道理Original
2016-11-09 14:41:351288Durchsuche

Rufen Sie die ursprüngliche MAC-Adresse der Netzwerkkarte ab; unterstützt derzeit das WIN/LINUX-System. Holen Sie sich die physische (MAC-)Adresse der Netzwerkkarte des Geräts

<?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; 
?>


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