67 lines
1.3 KiB
PHP
67 lines
1.3 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Windows Uptime Class
|
|
*
|
|
* http://pmav.eu/stuff/php-windows-uptime/
|
|
*
|
|
* v1.0 - 17/Oct/2008
|
|
* v1.1 - 10/Sep/2009
|
|
*/
|
|
|
|
class WindowsUptime {
|
|
|
|
const DEFAULT_FILE = 'c:\pagefile.sys';
|
|
const DEFAULT_DATE_FORMAT = 'd/M/Y @ H:i';
|
|
const RAW_OUTPUT = true;
|
|
|
|
private $file;
|
|
|
|
|
|
function __construct($file = self::DEFAULT_FILE) {
|
|
$this->file = $file;
|
|
}
|
|
|
|
|
|
public function uptime($rawOutput = false) {
|
|
$uptime = (time() - filemtime($this->file));
|
|
|
|
if (!$rawOutput) {
|
|
$days = floor($uptime / (24 * 3600));
|
|
$uptime = $uptime - ($days * (24 * 3600));
|
|
$hours = floor($uptime / (3600));
|
|
$uptime = $uptime - ($hours * (3600));
|
|
$minutes = floor($uptime / (60));
|
|
$uptime = $uptime - ($minutes * 60);
|
|
$seconds = $uptime;
|
|
|
|
$days = $days.' day'.($days != 1 ? 's' : '');
|
|
$hours = $hours.' hour'.($hours != 1 ? 's' : '');
|
|
$minutes = $minutes.' minute'.($minutes != 1 ? 's' : '');
|
|
$seconds = $seconds.' second'.($seconds != 1 ? 's' : '');
|
|
|
|
$uptime = $days.' '.$hours.' '.$minutes;
|
|
}
|
|
|
|
return $uptime;
|
|
}
|
|
|
|
|
|
public function upSince($dateFormat = self::DEFAULT_DATE_FORMAT) {
|
|
return date($dateFormat, filemtime($this->file));
|
|
}
|
|
|
|
|
|
public function getFile() {
|
|
return $this->file;
|
|
}
|
|
|
|
|
|
public function setFile($file) {
|
|
$this->file = $file;
|
|
}
|
|
|
|
}
|
|
|
|
?>
|
|
|