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) {
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); }