Неверная длина content-length

ChesterOne

Guest
Неверная длина content-length

Я архивирую файл. Отсылаю его. Перед этим задаю
PHP:
header("Content-length: ".filesize($filename));
Но почему то приходит битый архив. Хотя если длину не указывать, то все ок. Может к длине файла надо еще какие то накладные данные добавлять?
Искал в поиске: "content-length", похожего ничего не нашел.
 

ChesterOne

Guest
Нет. Архив нужного размера. Но почему то битый.
 

DEEX

Guest
Напиши весь скрипт загрузки с header. Какие заголовки ты передаешь.
 

iliah

Новичок
ChesterOne

>header("Content-length: ".filesize($filename));

это все хэдеры, которые ты шлешь? :)
 

ChesterOne

Guest
PHP:
header('Content-Type: application/x-zip');
header('Content-Disposition: inline; filename=' . $sendFilename);
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0,pre-check=0');
header('Pragma: public');
 

DEEX

Guest
Вот как надо. Покрайнемере у меня работает:
header("Content-Disposition: attachment; filename=$filename");
header("Content-Length: $download_size");
@readfile($filename);

Все пашет.

-~{}~ 28.10.04 14:42:

И размер, и всяками качалками файл качаеться
 

ChesterOne

Guest
В общем, ответте, пожалуйста, мне только на 1 вопрос. В content-length надо писать длину отсылаемого файла
PHP:
header("Content-length: ".filesize($filename));
echo $filedata;
или включая и хедеры. И вообще как вычислить то точно? Что учитывать надо :)
Спасибо

-~{}~ 28.10.04 14:46:

А какая разница между
inline и attachment
не в курсе?
 

DEEX

Guest
у меня как если не напишь значит, небудет виден размер файла, которого ты качаешь? Я вот только непойму зачам ети левые хидеры тебе: header('Content-Type: application/x-zip');
header('Expires: 0');
header('Pragma: public');
 

ChesterOne

Guest
Да простят профессионалы мои ошибки, но насколько я знаю:
PHP:
header('Expires: 0') // для того чтобы браузер не кешировал
header('Content-Type: application/x-zip') // для того чтобы он понял что ему суют
header('Pragma: public'); // незнаю для чего. Где то на форуме увидел
:)
 
Сверху