function getFolderSize($path)
 {
     $size = directory_size($path);
     $ret = getRealSize($size);
     return $ret;
 }
<?php

date_default_timezone_set("PRC");
include "./sqlite_lib.php";
$raw_name = $_POST["raw_name"];
$target_name = $_POST["target_name"];
$user_name = $_POST["user"];
$filesize = getRealSize("../books/{$target_name}");
$ctime = date("Y-m-d H:i:s", time());
save_data(array($target_name, $raw_name, $user_name, $ctime, "", 0, $filesize, "", ""));
function getRealSize($file)
{
    $size = filesize($file);
    $kb = 1024;
    // Kilobyte
    $mb = 1024 * $kb;
    // Megabyte
    $gb = 1024 * $mb;
    // Gigabyte
    $tb = 1024 * $gb;
    // Terabyte
    if ($size < $kb) {
        return $size . " B";
    } else {
        if ($size < $mb) {
            return round($size / $kb, 2) . " KB";
        } else {
            if ($size < $gb) {
                return round($size / $mb, 2) . " MB";
            } else {
                if ($size < $tb) {
Exemple #3
0
sleep(1);
$result_out_end = snmpwalk($host, $community, 'IF-MIB::ifOutOctets');
$result_error_out = snmpwalk($host, $community, 'IF-MIB::ifOutErrors');
$result_error_in = snmpwalk($host, $community, 'IF-MIB::ifInErrors');
$result_ucast_out = snmpwalk($host, $community, 'IF-MIB::ifOutNUcastPkts');
$result_ucast_in = snmpwalk($host, $community, 'IF-MIB::ifInNUcastPkts');
$ports = count($result_desc);
$switch = array();
for ($i = 0; $i < $ports; $i++) {
    $port = new stdClass();
    $port->desc = format($result_desc[$i]);
    $port->status = format($result_status[$i]);
    $port->speed = format($result_speed[$i]) / 1000000 . ' MB';
    $port->admin = format($result_admin[$i]);
    $port->traffic_in = getRealSize((format($result_in_end[$i]) - format($result_in_start[$i])) * 8);
    $port->traffic_out = getRealSize((format($result_out_end[$i]) - format($result_out_start[$i])) * 8);
    $port->error = format($result_error_out[$i]) + format($result_error_in[$i]);
    $port->ucast = format($result_ucast_out[$i]) + format($result_ucast_in[$i]);
    $port->time = time();
    array_push($switch, $port);
}
echo json_encode($switch);
// 格式化获取到的SNMP数据
function format($result)
{
    if (!$result) {
        return false;
    }
    if (is_array($result)) {
        $result = array_shift($result);
    }