Content-Disposition: inline и IE

netmac

Новичок
Content-Disposition: inline и IE

Вобщем файл отдается броузеру таким вот кодом:

PHP:
if (preg_match("/MSIE/i",$_SERVER['HTTP_USER_AGENT']) && !preg_match("/Opera/i",$_SERVER['HTTP_USER_AGENT'])) {
    header('Content-Disposition: inline; filename="' . mb_convert_encoding($m[ORIG_FILE][0], "CP1251", "UTF-8") . '"');
    header('Expires: 0');
    header('Cache-Control: public, must-revalidate, post-check=0, pre-check=0');
    header('Pragma: public');
} else {
    //...
}
$f_of_app = fopen ( $path, "r" );
$app_content = fread($f_of_app, filesize($path));
header("Content-Length: ".strlen ($app_content));
header("Content-type: ".$m[FILE_MIME][0]);
echo $app_content;
и есть 4 обычных текстовых файла. для всех 4ех $m[FILE_MIME][0] ставится как text/plain

вобщем по идее все они должны открываться в окне броузера (имею ввиду IE), но в нем открывается только 2 из 4. для 2 других выскакивает диалог Открыть/Сохранить

файлы самые обычные тестовые созданные через блокнот.
в чем может быть косяк?
 
убери
1) header('Content-Disposition: inline; filename="' . mb_convert_encoding($m[ORIG_FILE][0], "CP1251", "UTF-8") . '"');
2) header('Expires: 0');
3) header('Cache-Control: public, must-revalidate, post-check=0, pre-check=0');
4) header('Pragma: public');

2) и 4) по причине неверности
1) по причине ненужности
3) по причине бессмысленности в отсутвии валидатора
 

netmac

Новичок
Автор оригинала: Алексей Пешков
убери
1) header('Content-Disposition: inline; filename="' . mb_convert_encoding($m[ORIG_FILE][0], "CP1251", "UTF-8") . '"');
2) header('Expires: 0');
3) header('Cache-Control: public, must-revalidate, post-check=0, pre-check=0');
4) header('Pragma: public');

2) и 4) по причине неверности
1) по причине ненужности
3) по причине бессмысленности в отсутвии валидатора
с 2 3 4 в принципе согласен. Просто код этот скопировал откуда-то как было.

а вот 1 убрать нельзя, т.к. это не помогает. Все равно те же 2 файла открываются нормально в окне explorera, а другие два предлагает сохранить под именем скрипта. если inline заменить на attachment, предлагает сохранить все 4, как и положено.

Помоему дело в файлах. или что-то в заголовках не дописано.

-~{}~ 12.12.05 15:59:

я уже шизею

вобщем если создавать текстовые файлы с двумя тыком подобранными контентами:

http://www.forum.welcome.kg/printthread.php?t=6422&page=2&pp=40
http://oradoc:7777/oper_ptf/index.php?UserName=sava&UserDomain=kurskagro

и

1 ppm оксида углерода = 1,25 мг/м3


0.005-0.2 ppm, т.е. 5*10-7-2*10-3 об. %

то эксплорер их открывает у себя в окне ничего не спрашивает. причем пофиг как файл создавать и называть руками или сохранить как из Word или еще как.

остальное что я писал не хочет открывать, предлагает сохранять. :mad:

Я уже в 16ом виде смотрел их содержимое. Переносы одинаковые... атрибуты тоже одинаковые у всех.

В какую сторону хоть рыть?
 

bkonst

.. хочется странного?...
Расширение?

Вроде бы IE кроме Content-Type еще и на расширение файла смотрит.... У всех оно одинаковое? У меня в свое время похожая проблема с выдаваемым Postscript'ом была.
 

netmac

Новичок
да, одинаковое txt

я в MSDN и на сайте Microsoft искал. довольно много инфы по
Content-Disposition касающейся безопасности, много обновлений по этой теме, но там все больше к старым версиям IE.
описания своего случая пока не нашел.

Может это Security reasons? Может IE как-то анализирует контент.
Вобщем пока не победил эту дрянь.
 
Сверху