} } // Close the directory when finished. closedir($handle); } // Sort folder list. if ($folder_list) { $folder_list = php_multisort($folder_list, $sort); } // Sort file list. if ($file_list) { $file_list = php_multisort($file_list, $sort); } // Calculate the total folder size if ($file_list && $folder_list) { $total_size = bytes_to_string($total_size, 2); } /**********************************************************************************************************************************/ /******************************************************************************************************************[ FUNCTIONS ]***/ /** * http://us.php.net/manual/en/function.array-multisort.php#83117 */ function php_multisort($data, $keys) { foreach ($data as $key => $row) { foreach ($keys as $k) { $cols[$k['key']][$key] = $row[$k['key']]; } } $idkeys = array_keys($data); $i = 0;
/** * 系统信息 * */ public static function system_info() { define("YES", "<span class='resYes'>YES</span>"); define("NO", "<span class='resNo'>NO</span>"); // 系统基本信息 $serverapi = strtoupper(php_sapi_name()); $phpversion = PHP_VERSION; $systemversion = explode(" ", php_uname()); $sysReShow = 'none'; switch (PHP_OS) { case "Linux": $sysReShow = false !== ($sysInfo = self::sys_linux()) ? "show" : "none"; $sysinfo = $systemversion[0] . ' ' . $systemversion[2]; break; case "FreeBSD": $sysReShow = false !== ($sysInfo = self::sys_freebsd()) ? "show" : "none"; $sysinfo = $systemversion[0] . ' ' . $systemversion[2]; break; default: $sysinfo = $systemversion[0] . ' ' . $systemversion[1] . ' ' . $systemversion[3] . $systemversion[4] . $systemversion[5]; break; } if ($sysReShow == 'show') { $pmemory = '共' . $sysInfo['memTotal'] . 'M, 已使用' . $sysInfo['memUsed'] . 'M, 空闲' . $sysInfo['memFree'] . 'M, 使用率' . $sysInfo['memPercent'] . '%'; $pmemorybar = $sysInfo['memPercent']; $swapmomory = '共' . $sysInfo['swapTotal'] . 'M, 已使用' . $sysInfo['swapUsed'] . 'M, 空闲' . $sysInfo['swapFree'] . 'M, 使用率' . $sysInfo['swapPercent'] . '%'; $swapmemorybar = $sysInfo['swapPercent']; $syslaodavg = $sysInfo['loadAvg']; } pm_db::query("SELECT VERSION() AS dbversion"); $mysql = pm_db::fetch_one(); $mysql = $mysql['dbversion']; $phpsafe = self::getcon("safe_mode"); $dispalyerror = self::getcon("display_errors"); $allowurlopen = self::getcon("allow_url_fopen"); $registerglobal = self::getcon("register_globals"); $maxpostsize = self::getcon("post_max_size"); $maxupsize = self::getcon("upload_max_filesize"); $maxexectime = self::getcon("max_execution_time") . 's'; $mqqsp = get_magic_quotes_gpc() === 1 ? YES : NO; $mprsp = get_magic_quotes_runtime() === 1 ? YES : NO; $zendoptsp = get_cfg_var("zend_optimizer.optimization_level") || get_cfg_var("zend_extension_manager.optimizer_ts") || get_cfg_var("zend_extension_ts") ? YES : NO; $iconvsp = self::isfun('iconv'); $curlsp = self::isfun('curl_init'); $gdsp = self::isfun('gd_info'); $zlibsp = self::isfun('gzclose'); $eaccsp = self::isfun('eaccelerator_info'); $xcachesp = extension_loaded('XCache') ? YES : NO; $sessionsp = self::isfun("session_start"); $cookiesp = isset($_COOKIE) ? YES : NO; $serverip = @gethostbyname($_SERVER['SERVER_NAME']); $serverip = $serverip == '' ? '' : " ({$serverip})"; $systime = gmdate("Y年n月j日 H:i:s", time() + 8 * 3600); $phpversionsp = $phpversion > '5.0' ? YES : NO; $mysqlversionsp = $mysql['dbversion'] > '4.1' ? YES : NO; $dbasp = extension_loaded('dba') ? YES : NO; // 数据库大小 $databasesize = 0; pm_db::query("SHOW TABLE STATUS"); while ($rs = pm_db::fetch_one()) { $databasesize += $rs['Data_length'] + $rs['Index_length']; } $databasesize = bytes_to_string($databasesize); //站点统计 pm_db::query("SELECT count(*) as sum FROM gh_ghinfo"); $rt = pm_db::fetch_one(); $ghsum = $rt['sum']; //系统日志大小超过限制提示 $noticemsg = ''; if (@filesize(PATH_DATA . '/log/admin_log.php') > 409600) { $noticemsg = '后台记录日志'; } if (@filesize(PATH_DATA . '/log/php_error.log') > 409600) { $data['noticemsg'] = 'PHP错误日志'; } if (@filesize(PATH_DATA . '/log/mysql_error.php') > 409600) { $data['noticemsg'] = 'mysql日志'; } $data['serverip'] = $serverip; $data['systime'] = $systime; $data['sysinfo'] = $sysinfo; $data['phpversion'] = $phpversion; $data['dbversion'] = $mysql; $data['dispalyerror'] = $dispalyerror; $data['serverapi'] = $serverapi; $data['phpsafe'] = $phpsafe; $data['sessionsp'] = $sessionsp; $data['cookiesp'] = $cookiesp; $data['phpsafe'] = $phpsafe; $data['zendoptsp'] = $zendoptsp; $data['eaccsp'] = $eaccsp; $data['xcachesp'] = $xcachesp; $data['registerglobal'] = $registerglobal; $data['mqqsp'] = $mqqsp; $data['mprsp'] = $mprsp; $data['maxupsize'] = $maxupsize; $data['maxpostsize'] = $maxpostsize; $data['maxexectime'] = $maxexectime; $data['allowurlopen'] = $allowurlopen; $data['curlsp'] = $curlsp; $data['iconvsp'] = $iconvsp; $data['zlibsp'] = $zlibsp; $data['gdsp'] = $gdsp; $data['dbasp'] = $dbasp; $data['datasize'] = $databasesize; $data['ghsum'] = $ghsum; return $data; }
if ($showtypes && !in_array(substr($file, strpos($file, '.') + 1, strlen($file)), $showtypes)) { continue; } $n++; $size = @filesize($includeurl . $leadon . $file); $time = @filemtime($includeurl . $leadon . $file); $ext = strtolower(substr($file, strrpos($file, '.') + 1)); $type = isset($filetypes[$ext]) ? $filetypes[$ext] : 'generic'; if ($_GET['sort'] == "date") { $key = $time . ".{$n}"; } elseif ($_GET['sort'] == "size") { $key = $size . ".{$n}"; } else { $key = $file; } $files[$key] = array('type' => $type, 'name' => $file, 'size' => bytes_to_string($size, 2), 'time' => $time); if ($displayindex) { if (in_array(strtolower($file), $indexfiles)) { header("Location: {$leadon}{$file}"); die; } } } } closedir($handle); } // sort our files if ($_GET['sort'] == "date") { @ksort($dirs, SORT_NUMERIC); @ksort($files, SORT_NUMERIC); } elseif ($_GET['sort'] == "size") {