Вход Регистрация
Файл: severus/application/libraries/Wininfo.php
Строк: 60
<?php
/**
 * Severus Server Monitor
 *
 * Monitor all your server from one location
 *
 * @package     Severus Server Monitor
 * @author      Coderior
 * @copyright   Copyright (c) 2014 coderior.com
 * @link        http://coderior.com
 * @since       Version 1.0
 */

/**
 * Wininfo class
 *
 * This class gets the server information for windows servers
 *
 * @package     Severus Server Monitor
 * @subpackage  Libraries
 * @author      Coderior
 */

class Wininfo
{
    public function 
getCpuInfo()
    {
        
exec("wmic cpu get name"$output);

        return array(
"model name" => $output[1]);
    }

    public function 
getMemStat()
    {
        
exec("wmic ComputerSystem get TotalPhysicalMemory && wmic OS get FreePhysicalMemory"$output);

        return array(
"MemTotal" => $output[1], "MemFree" => $output[4]*1024"Buffers" => 0"Cached" => 0);
    }

    public function 
getUptime()
    {
        
exec("wmic cpu get loadpercentage"$load);
        
exec("net statistics Workstation"$uptime);
        if(isset(
$uptime) && !empty($uptime)) {
            
$uptime $uptime[3];
            
$uptime str_replace("Statistics since"""$uptime);
            
$uptime trim($uptime);
            
$parts explode("/"$uptime);
            
$extra explode(" "$parts[2]);
            
$newuptime strtotime($extra[0]."-".$parts[1]."-".$parts[0]." ".$extra[1]);
            
$uptime time_ago($newuptimetruetrue);
        } else 
$uptime "";
        
$loadamount = (isset($load[1]) && !empty($load[1])) ?  $load[1]."%" "";
        return array(
"load" => $loadamount"uptime" => $uptime);

    }

    public function 
getServiceStatus($checkservices)
    {
        
$services = array();
        
$errno false$errstr false$timeout 1;
        if(isset(
$checkservices) && !empty($checkservices)) {
            foreach (
$checkservices as $name => $ort) {
                
$fp fsockopen("localhost"$port$errno$errstr$timeout);
                if (!
$fp) {
                    
$services[$name] = "Offline";
                } else {
                    
$services[$name] = "Online";
                }
                
fclose($fp);
            }
        }

        return 
$services;
    }

    public function 
countProcesses()
    {
        
exec("wmic process get name"$output);

        return (
count($output)-5);
    }

}

//$stats = new linuxstat;
//$output["cpu"] = $stats->getCpuInfo();
//$output["memory"] = $stats->getMemStat();
//$output["uptime"] = $stats->getUptime();
//$output["services"] = $stats->getServiceStatus();
//$output["speed"] = $stats->getPortLink();
//$output["processes"] = count($stats->getProcesses());
Онлайн: 0
Реклама