首页 > 编程语言 >php程序获取客户端MAC地址

php程序获取客户端MAC地址

时间:2022-11-12 14:26:08浏览次数:54  
标签:return 9a ipconfig mac break MAC array php 客户端

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

标签:return,9a,ipconfig,mac,break,MAC,array,php,客户端
From: https://www.cnblogs.com/fuqian/p/16883648.html

相关文章

  • Lightroom Classic2021 for mac(Lrc2021)10.3中文直装版
    Lightroom Classic提供您展现出摄影效果最佳一面所需的所有桌面编辑工具,包括提亮颜色、使灰暗的摄影更加生动、删除瑕疵、将弯曲的画面拉直等。您可以在电脑桌面上轻松整......
  • Android上传文件用php接收
    废话不多说直接上代码导包implementation'com.loopj.android:android-async-http:1.4.11'http声明 <applicationandroid:usesCleartextTraffic="t......
  • 10.http客户端feign
    http客户端feignRestTemplate方式调用存在的问题先来看我们以前利用RestTemplate发起远程调用的代码:Stringurl="http://userservice/user/"+order.getUserld();Us......
  • XAMPP phpmyadmin 设置局域网访问
    1.问题描述本地local和127.0.0.1访问都正常,局域网访问失败,显示以下内容:2.检查用户的主机名是否是任意主机(%)3.修改httpd-xampp.conf配置文件找到phpmyadmin这一行,......
  • Redis各个客户端的对比
    【SpringRedisTemplate的底层一开始使用Jedis、但是自从SpringBoot2开始,底层开始使用了Lettuce,故不算在内】         【题外话:如果要使用Spring来集......
  • mac git远程仓库错误解决方法
    mac更新后不知道怎么回事,git时出现了Permissiondenied(publickey).经查询后得出原因1、首先给git进行config的配置gitconfig--globaluser.name你的用户名gi......
  • Linux安装php-vld扩展
     安装查看opcode利器vld,记录一下开发机安装php-vld过程。一、准备工作  Linux开发机一台;  Nginx、PHP已安装。二、安装phpvld扩展2.1、下载文件下载:​​http://p......
  • php 项目依赖时使用Composer
    项目依赖管理方案。即使你手工的管理它们,你还不得不处理它们的自动加载问题。目前主要有两个PHP包管理系统:Composer和PEAR,哪个适合你呢?答案是两个都需要。管理单个项目的......
  • mac Pro 的 Big Sur强迫升级~~~!!!
    warning:仅代表个人观点,如有雷同不是巧合。Error:mac版本的大升级一定要谨慎,谨慎再谨慎!!这次是从10.15.*  -> 11.3  所谓的Catalina升级到BigSur,各种心酸苦......
  • Android实战简易教程-第五十六枪(模拟美团客户端进度提示框)
    用过美团客户端的朋友都知道,美团的加载等待提示很有意思,是一种动画的形式展现给我们,下面我们就对这背后的原理进行了解,然后实现自己的等待动画效果。首先我们准备两张图片:这......