С 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"');
Я думаю, вам нужно объяснить, что вам нужно более подробно. обычно сервер ВСЕГДА загружает несколько файлов при загрузке страницы (изображения, скрипты и т. д.). вы имеете в виду несколько файлов данных, которые будут сохраняться пользователем поочередно - один за другим? –