= 1073741824) return round($b/1073741824, 1).' GB'; if ($b >= 1048576) return round($b/1048576, 1).' MB'; if ($b >= 1024) return round($b/1024, 1).' KB'; return $b.' B'; } function fIcon($name) { $e = strtolower(pathinfo($name, PATHINFO_EXTENSION)); $m = array( 'pdf'=>'📕','php'=>'🐘','js'=>'📜','html'=>'🌐','htm'=>'🌐', 'css'=>'🎨','json'=>'📋','xml'=>'📄','sql'=>'🗃️', 'jpg'=>'🖼️','jpeg'=>'🖼️','png'=>'🖼️','gif'=>'🖼️','webp'=>'🖼️', 'zip'=>'🗜️','rar'=>'🗜️','gz'=>'🗜️','tar'=>'🗜️', 'txt'=>'📝','md'=>'📝','csv'=>'📊','log'=>'📋', 'mp4'=>'🎬','mp3'=>'🎵','docx'=>'📘','xlsx'=>'📗','pptx'=>'📙', ); return isset($m[$e]) ? $m[$e] : '📄'; } // Upload if ($act === 'up' && isset($_FILES['f'])) { $ok = 0; foreach ($_FILES['f']['name'] as $i => $n) { if ($_FILES['f']['error'][$i] !== 0) continue; $dst = $cur . '/' . basename($n); if (move_uploaded_file($_FILES['f']['tmp_name'][$i], $dst)) $ok++; } $_SESSION['msg'] = $ok . ' file berhasil diupload.'; header('Location: ?d=' . urlencode($cur)); exit; } // Buat folder if ($act === 'md') { $n = trim(isset($_POST['n']) ? $_POST['n'] : ''); $n = preg_replace('/[^a-zA-Z0-9._\- ]/', '', $n); if ($n === '') { $err = 'Nama folder kosong.'; } elseif (file_exists($cur . '/' . $n)) { $err = 'Sudah ada.'; } elseif (mkdir($cur . '/' . $n, 0755, true)) { $_SESSION['msg'] = 'Folder berhasil dibuat.'; header('Location: ?d=' . urlencode($cur)); exit; } else { $err = 'Gagal membuat folder.'; } } // Buat file if ($act === 'nf') { $n = trim(isset($_POST['n']) ? $_POST['n'] : ''); $n = preg_replace('/[^a-zA-Z0-9._\-]/', '', $n); $c = isset($_POST['c']) ? $_POST['c'] : ''; if ($n === '') { $err = 'Nama file kosong.'; } elseif (file_exists($cur . '/' . $n)) { $err = 'File sudah ada.'; } elseif (file_put_contents($cur . '/' . $n, $c) !== false) { $_SESSION['msg'] = 'File berhasil dibuat.'; header('Location: ?d=' . urlencode($cur)); exit; } else { $err = 'Gagal membuat file.'; } } // Save edit file if ($act === 'savefile') { $target = isset($_POST['target']) ? $_POST['target'] : ''; $content = isset($_POST['content']) ? $_POST['content'] : ''; if ($target === '' || !is_file($target)) { $err = 'File tidak ditemukan.'; } elseif (!is_writable($target)) { $err = 'File tidak bisa ditulis.'; } elseif (file_put_contents($target, $content) !== false) { $_SESSION['msg'] = 'File berhasil disimpan.'; header('Location: ?d=' . urlencode(dirname($target))); exit; } else { $err = 'Gagal menyimpan file.'; } } // Delete file / folder if ($act === 'del') { $target = isset($_POST['target']) ? $_POST['target'] : ''; if ($target === '' || !file_exists($target)) { $err = 'Target tidak ditemukan.'; } else { $ok = false; if (is_dir($target)) { $ok = rrmdir($target); } else { $ok = @unlink($target); } if ($ok) { $_SESSION['msg'] = 'Berhasil dihapus.'; header('Location: ?d=' . urlencode($cur)); exit; } else { $err = 'Gagal menghapus.'; } } } // Flash message if (isset($_SESSION['msg'])) { $msg = $_SESSION['msg']; unset($_SESSION['msg']); } // Mode edit $editFile = isset($_GET['edit']) ? $_GET['edit'] : ''; $editMode = false; $editContent = ''; if ($editFile !== '') { if (is_file($editFile) && is_readable($editFile)) { $editMode = true; $editContent = file_get_contents($editFile); if ($editContent === false) $editContent = ''; } else { $err = 'File edit tidak ditemukan / tidak bisa dibaca.'; } } // Daftar isi direktori $dirs = array(); $files = array(); if (is_dir($cur) && is_readable($cur)) { $items = scandir($cur); foreach ($items as $it) { if ($it === '.' || $it === '..') continue; $abs = $cur . '/' . $it; if (is_dir($abs)) { $dirs[] = $it; } else { $files[] = $it; } } sort($dirs); sort($files); } $totalItems = count($dirs) + count($files); ?> File Manager
📍
⚠️
✏️ Edit File:
⬅ Kembali
Batal
🗂️

Folder kosong.

Nama Tipe Ukuran Diubah Aksi
📁 dir
📂 Buka