PHP 取 Windows 启动时间及计算已启动秒数

介绍

PHP 是一种流行的开源脚本语言,广泛用于 Web 开发。本文将介绍如何使用 PHP 在 Windows 上获取系统启动时间,并计算自系统启动以来的秒数。

获取系统启动时间

想要获取系统的启动时间,可以使用命令行工具 `systeminfo`。该工具能够提供关于计算机系统的详细信息,其中包括计算机的启动时间。下面是使用 PHP 调用 `systeminfo` 命令并获取启动时间的代码:

function get_system_boot_time() {

$output = shell_exec('systeminfo');

if (preg_match('/System Boot Time:\s+(.*)\r\n/', $output, $matches)) {

return strtotime($matches[1]);

}

}

这段代码使用 `shell_exec` 函数来执行 `systeminfo` 命令,并通过正则表达式来从输出中提取启动时间。然后,使用 `strtotime` 函数将时间转换为 Unix 时间戳。

计算已启动秒数

有了系统启动时间,我们可以轻松地计算自启动以来的秒数。下面是计算秒数的代码:

function seconds_since_boot() {

$boot_time = get_system_boot_time();

if ($boot_time) {

return time() - $boot_time;

}

}

这个函数首先使用 `get_system_boot_time` 函数获取系统启动时间,然后使用 `time` 函数获取当前时间,并计算二者之间的差值。

完整代码

下面是完整的代码:

function get_system_boot_time() {

$output = shell_exec('systeminfo');

if (preg_match('/System Boot Time:\s+(.*)\r\n/', $output, $matches)) {

return strtotime($matches[1]);

}

}

function seconds_since_boot() {

$boot_time = get_system_boot_time();

if ($boot_time) {

return time() - $boot_time;

}

}

echo 'System uptime: '. seconds_since_boot() .' seconds';

该代码通过调用 `seconds_since_boot` 函数来计算自启动以来的秒数,并输出结果。

需要注意的是,本文介绍的获取系统启动时间的方法仅适用于 Windows 操作系统。

后端开发标签