Content-disposition: attachment

Tigr

Новичок
Content-disposition: attachment

Всем привет.

Проблема в следующем. Сайт сделан на фреймах (прошу не давать советов типа "переделай сайт без фреймов и все") и как следствие имеется проблема с сохранением страницы. Для обхода возникающей ситуации сделана отдельная кнопка "Save", на клике по которой запрашивается страница с заголовками в начале:

header("Content-disposition: attachment;filename=page.html");
header("Content-Type: text/html");

IE - все делает как надо, а вот все остальные ... отображают страницу в том же окне.

Как заставить этих "остальных" выдавать окно на сохранение?
 

Voxus

founder (Старожил PHPCluba)
самый тупой вариант: отдавать страницу с расширением .mySuppaNewCoolExtension

либо

отдавать заголовок все-таки по строгим RFC-правилам

то есть:

что-то вроде такого:
PHP:
"Content-Disposition: attachment; filename=\"".$fileName."\""
 

Tigr

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

Tigr

Новичок
Конечно можно перед отправкой файла зазиповать онный, но это не то, так как файл сам по себе очень мал
 

Voxus

founder (Старожил PHPCluba)
ну см. второй вариант.. более ничего в голову не приходит..
 

Alien

Новичок
>отдавать заголовок все-таки по строгим RFC-правилам

Повторюсь, но

Content-Disposition is not part of
the HTTP standard, but since it is widely implemented, we are
documenting its use and risks for implementors. See RFC 2183 [49]
(which updates RFC 1806) for details.


Что делать - уже писали в форуме :D
 

Tigr

Новичок
Voxus - а то что у меня написано в вопросе (

header("Content-disposition: attachment;filename=page.html");
header("Content-Type: text/html");

) это не твой второй вариант? Повторил то что я написал. Зачем? А первый совет ну вообще не в тему.
 

Tigr

Новичок
Альен - я облазил все но ничего путного не нашел. Коль уж заглянул сюда - может подскажешь как это решить.
 

Tigr

Новичок
Альен - то о чем там говориться мне известно (полезно для скрипта dowload), но это не то
 

Muxa

Guest
Re: Content-disposition: attachment

Originally posted by Tigr
header("Content-disposition: attachment;filename=page.html");
header("Content-Type: text/html");

IE - все делает как надо, а вот все остальные ... отображают страницу в том же окне.

Как заставить этих "остальных" выдавать окно на сохранение?
А зачем им такой радостный тип контента гворить? :))

Ну скажи например

header("Content-Type: application/octet-stream");
 

Alien

Новичок
Решение - левый header + правильный patch_info

Но сама идея - рассадник багов.
Как пример - я заставил браузер выдать окошко с воплем "ой чего это" (MSIE 6 - настройки по умолчанию). Файл сохранился на автомате и сразу же окрылся - из C:\Documents and Settings\ice\Local Settings\Temporary Internet Files\Content.IE5\OPQJO9IJ\html[2].html

Думаешь так лучше будет? :D

p.s.
Mozilla 1.1, Netscape 4.0 - такой фигней не занимаются и все работает.
 

Tigr

Новичок
Re: Re: Content-disposition: attachment

Автор оригинала: Muxa
А зачем им такой радостный тип контента гворить? :))

Ну скажи например

header("Content-Type: application/octet-stream");
Можно указать в Content-Type все что душе угодно но это никак не меняет ситуацию.
 

Tigr

Новичок
Автор оригинала: Альен
Решение - левый header + правильный patch_info

Но сама идея - рассадник багов.
Как пример - я заставил браузер выдать окошко с воплем "ой чего это" (MSIE 6 - настройки по умолчанию). Файл сохранился на автомате и сразу же окрылся - из C:\Documents and Settings\ice\Local Settings\Temporary Internet Files\Content.IE5\OPQJO9IJ\html[2].html

Думаешь так лучше будет? :D

p.s.
Mozilla 1.1, Netscape 4.0 - такой фигней не занимаются и все работает.
Что то я тебя не понимаю :confused:
Во первых с IE никаких проблем нет. Он все понимает на 100% правильно.

Привиди мне, пожалуйста, левый header + правильный patch_info при которых "Mozilla 1.1, Netscape 4.0 - такой фигней не занимаются и все работает".
 

Alien

Новичок
Файл:
<?
header("Content-Type: text/aaaaaaaaaaaa"); // левый header -)
phpinfo();
?>

Вызов:
http://server/phpinfo.php/index.html?tyty=78787

=> mozilla, netscape ok (предлагают сохранить как index.html); my(?) msie - bad (см. выше что творится)

Вызов:
http://server/phpinfo.php

=> mozilla, netscape, msie => предалагает сохранить как phpinfo.php (логично, а?)
 

Tigr

Новичок
Да, но на оперу это не оказывает впечатления, поэтому это не выход, а жаль.
 

Muxa

Guest
Попробуй открыть

Originally posted by Tigr
Да, но на оперу это не оказывает впечатления, поэтому это не выход, а жаль.
http://atheism.ru/more/download/download.php

NN 4.7 ведёт себя прилично...
а ИЕ я уже изнасиловал... он мне даже екзешники пытается в окне открыть.... (не надо вспоминать про заганных лошадей :)))

если убдет работать кину сюда код...
 

Alien

Новичок
Попробуй еще конфиг пнуть:
AddType application/x-httpd-php .html

ну и соответственно файл обозвать download.html а не download.php
(впроч., у меня в msie опять из temporary открывается-)
 
Сверху