php获取网卡的MAC地址

<?php
/**

  • 获取网卡的MAC地址原码;目前支持WIN/LINUX系统
  • 获取机器网卡的物理(MAC)地址
    */
    class GetMacAddr
    {
    var $return_array = array(); // 返回带有MAC地址的字串数组
    var $mac_addr;
    public 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;
    }

public function forWindows()
{
@exec("ipconfig /all", $this->return_array);
if ( $this->return_array )
return $this->return_array;
else
{
$ipconfig = $_SERVER["WINDIR"]."system32ipconfig.exe";
if ( is_file($ipconfig) )
@exec($ipconfig."/all", $this->return_array);
else
@exec($_SERVER["WINDIR"]."systemipconfig.exe /all", $this->return_array);
return $this->return_array;
}
}

public function forLinux()
{
@exec("ifconfig -a", $this->return_array);
return $this->return_array;
}
}
//方法使用
$mac = new GetMacAddr(PHP_OS);
echo $mac->mac_addr;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,354评论 0 33
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,800评论 19 139
  • 不支持上传文件,所以就复制过来了。作者信息什么的都没删。对前端基本属于一窍不通,所以没有任何修改,反正用着没问题就...
    全栈在路上阅读 6,036评论 0 2
  • “原阳 原样” 所有人都这么说 十二年过去是几乎没变化 三两条拥挤的街和老转盘 胡同小路依然坎坷不平 刚进门狗子叫...
    张废材阅读 1,670评论 0 0
  • OS X下的特殊字符输入: 美元,shift+4美分,option+4英镑,option+3人民币,option+...
    大虾咪阅读 4,104评论 0 0