Проблема с передачей header'а Content-Length

Driantsov Alexander bender at cdev.ru
Wed Jun 27 14:47:35 MSD 2007


On Wed, 27 Jun 2007 11:04:44 +0300
AlexeyK <itsmegawtf at gmail.com> wrote:

> 2007/6/27, Driantsov Alexander <bender at cdev.ru>:
> > При использовании вот такого PHP кода:
> > <?
> >         $filepath="/path/to/file.txt";
> >         header("Content-Type: application/csv");
> >         header("Content-Disposition: attachment; filename=\"bad_file.IFF\"");
> >         header("Content-Length: ".filesize($filepath));
> >
> >         readfile($filepath);
> >         exit;
> > ?>
> >
> > и обработке в Nginx+PHP-FastCGI файл не передается. А именно, если Nginx передает заголовок "Content-Length", то браузер, somewhy, распознает его не верне и файл висит в download'е вечно. Если в этом же коде закоментировать строку:
> >
> >  header("Content-Length: ".filesize($filepath));
> >
> > Файл передается нормально.
> >
> > --
> > Sincerely yours,
> > Driantsov Alexander,
> > Technical Support Engineer
> >
> > Qualiteam Software
> > Glavpochtamt, p/o box 5152.   [web site] http://www.x-cart.com/
> > 432072 Ulyanovsk, Russia      [ phone  ] +7-(8422)-429037  (9:00-18:00 GMT +4)
> >
> >
> 
> Какой браузер?

Например в слудеющих:

1. Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.8.1.4) Gecko/20070603 Firefox/2.0.0.4

Проблема воспроизводиться следющим образом:
1.1. Заходим на тестовый скрипт: http://x-shops.com/file_upload.php
1.2. В появившемся окне с предложением выбрать директорию для сохранения выбираем директорию, в моем случае это ~/www/temp/.
1.3. Смотрим эту директорию:

[~/www/temp]$ ls -al

-rw-------  1 *  *       0 27 июн 14:29 bad_file.IFF
-rw-------  1 *  *     911 27 июн 14:29 bad_file.IFF.part


2. MSIE 6.0 (версия 6.0.3790.3959, Windows Server 2003 Standard Edition)

2.1. Заходим на тестовый скрипт: http://x-shops.com/file_upload.php
2.2. Ждем-ждем и ждем, приглашения сохранить файл так и не появляется.

3. Netscape 7.0 под Windows Server 2003 Standard Edition
3.1. Заходим на тестовый скрипт: http://x-shops.com/file_upload.php
3.2. Выбираем куда созранить resulting файл.
3.3. Видим диалог "Saving", Time Left: Unknown 

> Файл снаружи не меняется? clearstatcache() ситуацию не улучшает?

Нет, файл не меняется, никаких multiple operations нету. 

-- 
Sincerely yours,
Driantsov Alexander,
Technical Support Engineer
 
Qualiteam Software
Glavpochtamt, p/o box 5152.   [web site] http://www.x-cart.com/
432072 Ulyanovsk, Russia      [ phone  ] +7-(8422)-429037  (9:00-18:00 GMT +4)





More information about the nginx-ru mailing list