欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

PHP获取MAC地址的方法 php是服务器端脚本语言,只能获取客户端ip地址不能获取mac地址 下面的代码是获得服务器端的mac地址 有大用

下面的代码是获得服务器端的mac地址

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


  <?php
/**  
    获取网卡的MAC地址原码;目前支持WIN/LINUX系统  
    获取机器网卡的物理(MAC)地址  
 **/
class GetMacAdd {
 
  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 GetMacAdd(PHP_OS);  
//echo $mac->mac_addr;  
?>

image.png

image.png

来自  http://www.3qphp.com/php/kaiyuan/2008.html


普通分类: