微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP获取设备Mac地址唯一标识

PHP获取设备Mac地址唯一标识(服务端)


public $return_array = array(); // 返回带有MAC地址的字串数组
public $mac_addr; //mac地址

public function getMacAddress($os_type)
{
    switch(strtolower($os_type))
    {
        case "linux":$this->forLinux();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;
}

/**
 * @return array
 * window
 */
public 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;
    }
}

/**
 * @return array
 * linux
 */
public function forLinux()
{
    @exec("ifconfig -a", $this->return_array);
    return $this->return_array;
}


//调用:
$this->getMacAddress(PHP_OS);
var_dump($this->mac_addr);


版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐