Здравствуйте,Кратко вопрос звучит так:
может ли CGI-скрипт вернуть вместе с данными, имя этих данных?Более подробно лучше на примере:
1) Есть HTML-страница, на которой отображён список файлов.
2) Возле каждого файла есть чекбокс, позволяющий отметить файл
3) Есть кнопки
3.1) Удалить - удаляет выбранные файлы
3.2) Скачать - пакует в архив выделенные файлы и возвращает архивЯ это реализую следующим образом:
1) Список файлов с чекбоксами и кнопками я располагаю в одну форму и в action этой формы указываю имя скрипта, допустим FileMgr
2) Скрипт FileMgr в зависимости от выбранных чекбоксов и типа кнопки:
2.1) удаляет выбранные файлы и возвращает ту же HTML-страницу, только уже без удалённых файлов
2.1) пакует выбранные файлы zip-ом и возвращает полученный архив в виде потока данных, указав Content-type: aplication/zipПроблемма в (2.1):
При возврате архива браузеры восновном предлагают сохранить файл, и в качестве имени файла предлагают:
1) в лучшем случае имя_скрипта.zip
2) просто имя_скрипта
3) имя_скрипта_ещё_что-то
Т.е. имя не очень хорошее и пользователь вынужден его править.
Выходом является назвать скрипт сразу с расширением zip, но ведь этот скрипт выполняет не только возвращение архива, но и другую работу и с расширением zip будет иметь нелогичное имя.
Как можно решить данную проблемму?
Заголовком:
Content-Disposition:attachment;filename=name.txt;
> Заголовком:
> Content-Disposition:attachment;filename=name.txt;Спасибо за наводку!!! И оперативные ответ!
Правда с первого раза не получилось. После чего нашёл статью http://gordievskiy.blogspot.com/2009/12/content-disposition-...PS: Эх жаль что несколько лет назад я так и не нашёл ответ и приходилось извращаться через называние скрипта нужным именем с расширением zip, но тогда скрипт только и занимался, что возвращением архива, а теперь задача усложнилась и снова встал вопрос.
Причём Content-Disposition я уже использовал, когда читал входные данные, а вот что он может использоваться и в ВЫХОДНЫХ - не знал.
> PS: Эх жаль что несколько лет назад я так и не нашёл
> ответ и приходилось извращаться через называние скрипта нужным именем с расширением
> zip, но тогда скрипт только и занимался, что возвращением архива, а
> теперь задача усложнилась и снова встал вопрос.
> Причём Content-Disposition я уже использовал, когда читал входные данные, а вот что
> он может использоваться и в ВЫХОДНЫХ - не знал.тяжко жить пока гугл не освоишь )))