загрузить более одного файла с сервера одним щелчком мыши (PHP, WAMP) - PullRequest
2 голосов
/ 01 октября 2009

Мне нужно загрузить более одного файла с сервера (PHP) одним щелчком мыши. Можно загрузить один файл, но он не работал для нескольких файлов одновременно (предположим, что файлы находятся в разных каталогах). Я использую WAMP, пожалуйста, помогите мне.

спасибо и всего наилучшего

tismon

Ответы [ 5 ]

7 голосов
/ 01 октября 2009

Просто заархивируйте файлы на сервере и отправьте архив, как это делает Gmail с несколькими вложениями. Большинство современных операционных систем не должны иметь проблем с распаковкой пакета, некоторые из них будут делать это на лету (без необходимости что-либо делать). Я не знаю PHP, но, похоже, есть библиотека zip, см. примеры на сайте PHP .

5 голосов
/ 01 октября 2009

Не совсем уверен, что вы спрашиваете, если вы спрашиваете способ заставить сервер обслуживать несколько файлов для пользователя одним запросом, то вам, вероятно, нужно использовать zip-файл или какой-либо другой формат архива.

3 голосов
/ 01 октября 2009

С PHP это невозможно. Вы можете подать только один файл за запрос. Однако вы можете вызвать браузер для загрузки нескольких файлов, используя небольшой JavaScript:

var files = ['fileone.zip', 'filetwo.zip'];
for (var i = 0; i < files.length; i++){
    window.open(files[i], 'Download file');
}

Это действительно довольно противно, хотя. Я бы просто пошел с молнией.


PS. Если вы хотите загрузить html-файлы с помощью этого метода, вам нужно отправить заголовок Content-Disposition для каждого файла, чтобы документ не просто отображался во всплывающем окне, порожденном window.open:

header('Content-Disposition: attachment; filename="todownload.html"');
2 голосов
/ 01 октября 2009

Вы можете создать IFrame и в Javascript установить источник IFrame для различных загружаемых файлов. Если вы столкнулись с проблемами синхронизации загрузок, вы можете попробовать задержать загрузку или использовать несколько IFrames (но этот последний выглядит некрасиво).

1 голос
/ 01 октября 2009

Вы можете отправить пользователю электронное письмо со ссылками или даже вложением, если размер файла небольшой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...