// Обработка GET-запроса для получения списка файлов if ($_SERVER['REQUEST_METHOD'] === 'GET') { $files = array_diff(scandir($uploadDir), array('.', '..')); // Получаем список файлов, исключая . и .. echojson_encode(['status' => 'success', 'files' => $files]); exit; }
?>
<!-- ### Как использовать скрипт:
1. *Создание директории*: Убедитесь, что у вас есть директория для загрузки файлов (в данном примере - uploads/). Скрипт автоматически создаст эту директорию, если она не существует.
2. *Отправка файла через POST-запрос*: - Используйте инструмент, такой как Postman, curl или HTML-форму, чтобы отправить файл на сервер: bash curl -X POST -F 'file=@path_to_your_file' http://yourserver.com/yor_upload.php В этом случае замените path_to_your_file на путь к файлу, который вы хотите загрузить.
3. *Получение файла через GET-запрос*: - Сделайте GET-запрос к вашему скрипту: bash curl -X GET http://yourserver.com/your_script.php
Скрипт вернёт список загруженных файлов в формате JSON. Каждый раз, когда вы загружаете новый файл, он будет переименован с добавлением случайного постфикса. -->
# загрузим этот файл (ещё очередной раз) $ curl -X POST -F 'file=@Theme2.js' https://mapavlov.ru/VS/PhpFileStor/tmp.php | jq . % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 12912 100 179 100 12733 1098 78116 --:--:-- --:--:-- --:--:-- 79214 { "status": "success", "message": "Файл загружен успешно", "file": "Theme2-181ca179cd.js" }
# покажи что есть $ curl -X GET https://mapavlov.ru/VS/PhpFileStor/tmp.php | jq . % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 111 100 111 0 0 874 0 --:--:-- --:--:-- --:--:-- 874 { "status": "success", "files": { "2": "Theme2-181ca179cd.js", "3": "Theme2-b9f490419c.js", "4": "Theme2-e5844f9a00.js" } }
$ curl -X GET https://mapavlov.ru/VS/PhpFileStor/uploads/Theme2-e5844f9a00.js | wc -l $ curl -X GET https://mapavlov.ru/VS/PhpFileStor/uploads/Theme2-e5844f9a00.js | wc -l % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 12532 100 12532 0 0 11100 0 0:00:01 0:00:01 --:--:-- 11090 191
Не нуждается в комментариях. Тут видно что происходит….
Любой сайт по любому пути одним секретным php скриптом превращается в хранилище файлов, в которое можно дописывать и можно выгружать.
Это лучше чем доступ по ftp т.к. в данном случае извне файлы невозможно удалять…
Получить их можно только если откуда-то знать адрес скрипта и уметь.
Система Korni3 может использовать такой способ для синхронизации файлов и ей не важно что в данном скрипте есть версии файла с переименованием т.к., получив файлы, система корни посчитает их хеш и сама их у себя поименует по их содержимому.