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