|
|
|
|
|
для: Владимир55
(16.05.2013 в 19:07)
| | Один документ - один файл. Если хотите, чтобы пользователь сохранил несколько файлов - открывайте несколько документов, который он сможет сохранить (например, редиректами через JavaScript). | |
|
|
|
|
|
|
|
для: Владимир55
(16.05.2013 в 19:07)
| | Да причем тут форма, не она же определяет как вести себя серверу .
Я же писал как можно выдать несколько файлов, и это процесс несколько сложнее, чем выдача одного файла и "потираем руки", вы можете сотни заголовков выслать, толку от этого не будет.
Вы можете на сервере запаковать файлы в архив, это операция несложная. Запакуйте и отдайте одним файлом, и не морочьте себе голову, ибо отдачу файла частями (на чем и можно построить выдачу нескольких фалов) вы сами вряд ли решите. | |
|
|
|
|
|
|
|
для: confirm
(16.05.2013 в 18:50)
| | >Так не получится..
Все должно быть последовательно, и передача заголовков, и вывод файлов..
Так и последовательно не получается!
$myCsvFile1 = "Вова;Петя";
$myCsvFile2 = "Маша;Саша";
header("Content-Description: File Transfer\r\n");
header("Pragma: public\r\n");
header("Expires: 0\r\n");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0\r\n");
header("Cache-Control: public\r\n");
header("Content-Type: text/plain; charset=UTF-8\r\n");
header("Content-Disposition: attachment; filename=\"myfile1.csv\"\r\n");
echo $myCsvFile1;
header("Content-Description: File Transfer\r\n");
header("Pragma: public\r\n");
header("Expires: 0\r\n");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0\r\n");
header("Cache-Control: public\r\n");
header("Content-Type: text/plain; charset=UTF-8\r\n");
header("Content-Disposition: attachment; filename=\"myfile1.csv\"\r\n");
echo $myCsvFile2;
exit;
|
Собственно, никак не получается из одной формы закачивать два файла.
Это вообще-то возможно?
А если возможно, то как конкретно? | |
|
|
|
|
|
|
|
для: Владимир55
(16.05.2013 в 18:47)
| | Так не получится, вы же не сможете передавать клиенту одновременно два файла, так что и втыкать их имена в заголовке тоже нет смысла. Все должно быть последовательно, и передача заголовков, и вывод файлов.. | |
|
|
|
|
|
|
|
для: confirm
(16.05.2013 в 17:16)
| | > если форма, то, например, список с именем file[], со множественным выбором, в котором указаны эти значения.
Как на практике вывести в два файла (myfile1.csv и myfile2.csv ) две переменные?
$myCsvFile1 = "Вова;Петя";
$myCsvFile2 = "Маша;Саша";
header("Content-Description: File Transfer\r\n");
header("Pragma: public\r\n");
header("Expires: 0\r\n");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0\r\n");
header("Cache-Control: public\r\n");
header("Content-Type: text/plain; charset=UTF-8\r\n");
header("Content-Disposition: attachment; filename=\"myfile1.csv\"\r\n");
echo $myCsvFile1;
exit;
|
| |
|
|
|
|
|
|
|
для: Владимир55
(16.05.2013 в 17:03)
| | Запрос? Да вам и самому это без труда )
<a href="domain/?file[]=11&file[]=22&file[]=33......"
где file, это будет массив GET параметров под этим ключом, а его значения id запрашиваемых файлов. Либо, если форма, то, например, список с именем file[], со множественным выбором, в котором указаны эти значения. | |
|
|
|
|
|
|
|
для: confirm
(16.05.2013 в 15:54)
| | >можно отослать обычный запрос со множеством параметров, ссылающихся на запрашиваемые файлы.
Можете показать такой запрос? | |
|
|
|
|
|
|
|
для: Владимир55
(16.05.2013 в 13:39)
| | Скачивает не форма, а отдает сервер. Форму то сделать можно, вернее даже и формы не надо, можно отослать обычный запрос со множеством параметров, ссылающихся на запрашиваемые файлы. А вот на сервере отдача должна происходить с контролем отданных частей, типа как это делается, когда разрешено скачивание далее, после разрыва соединения, например. Тогда сервер может контролировать процесс отдачи, последовательно считывать данные файлов, отдавая их. Иначе, это только паковать на стороне сервера запрошенные файлы в архив и отдавать одним файлом. | |
|
|
|
|
|
|
| Можно ли сделать такую форму, чтобы с сервера на компьютер скачивался не один, а сразу несколько файлов? | |
|
|
|
|