The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Проблемы с закачкой"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [Проследить за развитием треда]

"Проблемы с закачкой"  
Сообщение от fate email(??) on 15-Июн-06, 11:44 
Всем доброго времени суток!

У меня есть сервер Apache 2.0 + PHP 5. Есть скрипт навигации по файловой системе с поддержкой загрузки файлов.

*********
...
/* вызывается при загрузке файла... */
function do_download($path, $file) {
  $get_path = strip_junk($path);
  $get_file = strip_junk($file); /* fopen adds \ to ' - so we strip 'em. */
  header("Content-Disposition: atachment; filename=" . $get_file);
  header("Content-Type: application/octet-stream");
  header("Content-Length: " . filesize(DOWNLOAD_PATH . "/$get_path/$get_file"));
  header("Cache-Control: no-cache, must-revalidate");
  header("Pragma: no-cache");
  header("Expires: 0");
  $fp = fopen(DOWNLOAD_PATH . "/$get_path/$get_file", "rb");
  fpassthru($fp);

  exit;
}
...
*********

Проблема в том, что при загрузке файлов через IE, к каждому файлу в начало добавляются 2 байта - 0D 0A (перевод строки и возврат карретки). Причем такая "фитча" наблюдается только при использовании IE, а если использовать Firefox или Opera, то загрузка идет без ошибок. Кто-нибь знает в чем тут дело? Куда смотреть? В настройки сервера или браузера, или в сам код скрипта?

Перехват запросов и ответов HTTP Tracer'ом подтверждает то, что сервер возвращает правильный размер файла через Content-Length.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Проблемы с закачкой"  
Сообщение от mirya email on 19-Июн-06, 21:01 
>Проблема в том, что при загрузке файлов через IE, к каждому файлу
>в начало добавляются 2 байта - 0D 0A (перевод строки и
>возврат карретки). Причем такая "фитча" наблюдается только при использовании IE, а
>если использовать Firefox или Opera, то загрузка идет без ошибок. Кто-нибь
>знает в чем тут дело? Куда смотреть? В настройки сервера или
>браузера, или в сам код скрипта?

у меня подозрение, что где-то до начала вывода файла ты пишешь перевод строки в stdout - напр.

<?php require 'lib.inc'; passthru($file); ?>

lib.inc (with hidden chars shown):
<?php\r\n
some routines...\r\n
?>\r\n

  ^^^^
обычно такого вида. это не может объяснить нормальное поведение оперы/файрфокса (обход станд. ошибки?), но попробовать стоит

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "Проблемы с закачкой"  
Сообщение от saintlock (ok) on 27-Июн-06, 18:32 
было аналогичное один раз - только без загрузки файла - а просто вывод содержал один кракозябл (только под IE) Ломали голову - потом посмотрели исходник под MC в линухах и обнаружили, что тама ескейп последоватиельность в выводе осталась - попробуйте - может поможет :)

С уважением, Сергей

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру