Я хочу использовать php или xmlwebrequest для загрузки файла на сервер и получения другого файла с сервера после завершения загрузки. У меня есть простой сценарий HTML-формы, чтобы пользователь мог выбрать файл для загрузки, и у меня есть еще одна кнопка, позволяющая пользователю выбрать папку для загрузки, чтобы разместить новый файл, полученный с сервера.
Созданная мною форма позволяет пользователю переходить к папке загрузки, но ему нужно, чтобы имя файла было выбрано в локальной папке; это загрузка, поэтому файл не будет файлом на клиентском компьютере, он поступает с сервера.
Вот HTML-код:
<div class = "h1_inf"><b>Upload/Download File</b></div><br><br>
<div class = "z_01">
<form action = "upload.php" method = "post" enctype = "multipart/form-data">
Select image to upload:
<input type = "file" name = "fileToUpload" id = "fileToUpload"><br><br>
<input type = "submit" value = "Upload File" name = "submit">
</form><br>
<form action = "dnload.php" method = "get">
Select image to dnload:
<input type = "file" name = "fileToDnload" id = "fileToDnload"><br><br>
</form>
</div>
Вопрос: как выбрать каталог для загрузки файла, который будет получен с сервера. Я открыт для использования php или xmlwebrequest, но элементы формы - это чистый html.
Я знаю, что есть много сообщений по этой проблеме, и некоторые говорят, что это невозможно сделать из-за безопасности браузера, но должен быть какой-то способ позволить пользователю решить, где загрузить файл с сервера?
Вы имеете в виду отображать имена изображений (имен файлов), находящихся на сервере? Вы можете показать пример? Большое спасибо за ваш вклад.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете использовать glob() для циклического просмотра каталогов и получения всех расширений.
function searchFiles($path, $extension) {
$files = [];
foreach(glob("{$path}/*.{$extension}"), GLOB_BRACE) as $file) {
$files[] = array('name' => $file, 'size' => filesize($file));
}
}
Затем вы можете просмотреть все изображения png и вывести их для загрузки:
<?php foreach(searchFiles('/images', 'png') as $image): ?>
<a download href='/images/<?= $image['name']; ?>.png' alt='<?= $image['size']; ?>'> Download <?= $image['name']; ?> </a>
<?php endforeach; ?>
Выполняется ли php на сервере? Я имею в виду, что имена файлов, которые вы показываете, находятся на сервере, а не на клиентском компьютере? Их еще не было бы на клиентском компьютере, поэтому они должны быть на сервере. Правда?
Да PHP выполняется на сервере
Большое спасибо за ваше разъяснение. Вы направили меня на правильный путь. Спасибо еще раз.
Это не работает так, если вы хотите показать изображения для загрузки, вам нужно циклически перебрать место, где вы также сохраняете изображения, а затем вывести их на страницу со ссылкой для их загрузки.