После отправки файла скриптом Word не может его открыть

Labutin

Новичок
После отправки файла скриптом, Word не может его открыть

Файл отдаю следующим образом:
header("Content-type: ".$contentType);
header("Content-Disposition: attachment; filename=".$fileName);
header("Content-Length: ".sizeof($fileData));
echo $fileData;

$contentType - это тот Content-type, который был получен, когда файл загружался на сервер (upload), например application/msword при файлах MS Word.
После этого у пользователя появляется диалог "Открыть Сохранить Отмена". Сохранить - всегда работает без проблем. А вот с открыть просто беда. На некоторых компьютерах никаких проблем. На некоторых Word постоянно ругается примерно так:
---------------------------------------------------------------------
Файл не найден
Попробуйте выполнить следующие действия:
* Убедитесь, что имя документа введено правильно.
* Попробуйте другое имя файла.
(C:\...\MFTVF0A3\bug list[1].doc)
---------------------------------------------------------------------
Подозреваю, что в многоточии скрывается путь к "Temporary Internet Files". Смотрел - там папки MFTVF0A3 вообще нет!

Вопрос - как это лечить? Почему на некоторых компах все нормально, на некоторых всегда не работает, а на некоторых работает время от времени?
Да, проблема только в IE. Opera и Firefox работают как часы.
 

msdn11

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

header("Content-Disposition: attachment; filename=".$fileName);
header("Content-Length: ".sizeof($fileData));
 

Labutin

Новичок
Вот это:
header("Content-Disposition: attachment; filename=".$fileName);
убрать нельзя, т.к. иначе имя файла для сохранения будет равно имени скрипта, отдающего файл, что неприемлемо.
Убрать:
header("Content-Length: ".sizeof($fileData));
не помогает.
 

ksnk

прохожий
Ругается только Word? Акробат в аналогичной ситуации не ругается?
Имена пользователей латиницей или русскими буквами? В имени файла русских букв нету?
Как правило, под точками понимается "C:\Documents and Settings\ЮЗЕР\Local Settings\Temp\", а не "Temporary Internet Files".
 

Labutin

Новичок
Акробат тоже ругается, что не может найти файл.
Имена пользователей латиницей.
В имени файла русских букв нет. Пробовал имена файлов без пробелов - проблема в силе.
В Temp файл тоже не нашел.
 

ksnk

прохожий
Про точки - я нагнал... В действительности, у меня в "C:\Documents and Settings\ЮЗЕР\Local Settings\Temporary Internet Files\Content.IE5\..."
Можно попробовать качать какие-нибудь чужие доки из интернета, к примеру из http://www.aquarium.ru:8080/rider/

Видимо это чудо, зависит от версии виндов+- установленных апдейтов...
 

Labutin

Новичок
Виноват - поправил :)

-~{}~ 11.09.06 14:28:

Скажите, pls, это у меня одного такая проблема?
 

SiMM

Новичок
Качаешь любой файл, подсматриваешь заголовки и делаешь по аналогии. Заодно и свои посмотри на предмет наличия заголовков, запрещающих кэширование.
http://phpclub.ru/faq/cahcing/WebBrowserCaching

> Видимо это чудо, зависит от версии виндов+- установленных апдейтов...
Это чудо зависит от осла.
 

Кром

Новичок
Labutin
Там есть какое-то глюкалово в кеше IE. Если почистить кеш, то файл откроется нормально. Где то я видел решение, поищи в сети.
 

Labutin

Новичок
Кром
Кеш чистил - не помогает :(

ToAll
Может быть я что-то в принципе не так делаю?
 
Сверху