проблема с download файла через скрипт

L-ZiX

Guest
проблема с download файла через скрипт

Всем hello
Вобщем такая проблема:
через скрипт download.php отправляются пользователю файлы на закачку. Заголовки приведены ниже.
В браузерах IE и Opera файлы скачиваются без проблем, а в Flashget'е проблема: он не может скачать последние 1-1,5 Кб файла, выдаёт Ошибку.
Подскажите в чём проблема???

Заголовки:
header("Content-Type: application/stream\n");
header("Content-Disposition: attachment; filename=\"$filename\"\n");
header("Content-Length: ".$filesize."\n");

Вывод файла через функцию fpassthru($fp);
 

tony2001

TeaM PHPClub
попробуй объяснить подробнее.
например, с 10-ком строк рабочего кода.
 

L-ZiX

Guest
download.php?file=document.doc

<?
$file=$_GET[file];
$filepath="files/docs/".$file;
if (file_exists($filepath)) {
$fp=fopen("$filepath","r");
$filesize=filesize("$filepath");
header("Content-Type: application/stream\n");
header("Content-Disposition: attachment; filename=\"$file\"\n");
header("Content-Length: ".$filesize."\n");
fpassthru($fp);
fclose ($fp);
}
?>

Допустим файл document.doc весит 100кб.
Через ьраузеры всё работает на УРА.
А вот во ФлешГете файл скачивается на 99% и не может скачать последние 1-1,5кб.... пишет Ошибка и всё....
Размер скачиваемого файла не имеет значения для глюка...
Скачиваю 4000Кб.... скачивает только 3998,5 а последние 1-1,5 кб не может....

В чём проблема????
 

Cid

...двинутый новичок
Попробуй скачать FlashGet'ом в один поток, посмотри на рез-т.

Вообще данная прога отличается "умом и сообразительностью" - например, любит бить архивы.
 

neko

tеam neko
L-ZiX
посмотри что и как идет те же самые файлы отдаются чем-нибудь, что это делать умеет
хотя бы апачем
чем бы прога не отличалась, она с именно твоего скрипта не может забрать файл
 

Tigr

Новичок
конечно не имеет значения какая ошибка выводится Flash Get-ом, но может скажешь?
 

Serguitar

Новичок->продвинутый
L-ZiX
А твой флешгет только с твоего сайта ошибку выдаёт или с любого другого тоже?
 

L-ZiX

Guest
Serguitar Tigr neko Cid
спасибо за помощь....
я нашёл проблему... а она в следующем:
я, ламер такой, не проверял целостность скачиваемых файлов..
как оказалось у меня до отправки файла отправляется в браузер пара строчек HTML'а. Следственно размер файла увеличивается. А так как я в заголовках отправляю ещё и настоящий размер файла, но на самом деле он больше, то ФлешГет скачивает ровно столько, сколько ему говорится в заголовках и не байта больше. Поэтому файлы и не закачивались до конца!!!....
Вот такой я ламер бываю...

P.S. есть вопросик:
как определить размер переменной в байтах?
 
Сверху