Autor Zpráva
Wysky
Profil *
Jak udelat skript ktery by dovoloval download velmi velkeho souboru? Mam tento skript /pro potreby fora uvadim jen to nejdulezitejsi/:


<?php
$filename = './verybig.file';
$saveasname = basename($filename);
//
header('Content-Type: application/octet-stream');
header('Content-Length: '.filesize($filename));
header('Content-Disposition: attachment; filename="'.$saveasname.'"');
readfile($filename);
?>


pri jeho spusteni pres IE, Operu, FF vse funguje jak ma, ALE pokud ho zkusim stahnout pomoci nektereho download manageru ktery podporuje vice vlaken (stahovani na vic dilu) jako ne napriklad Flasget, zacnou Windows nekontrolovane alokovat pamet a skonci to padem celeho systemu.

Dalsi varianta kterou jsem zkousel je

<?php
$filename = './verybig.file';
$saveasname = basename($filename);
//
header('Content-Type: application/octet-stream');
header('Content-Length: '.filesize($filename));
header('Content-Disposition: attachment; filename="'.$saveasname.'"');
//
$fp = fopen($filename, 'rb');
while (!feof($fp))
{
echo fread($fp, 8192);
};
fclose($fp);
?>

ale efekt je stejny.

pri zakomentovani
  header('Content-Length: '.filesize($filename)); 
se stahuje jen jednim vlaknem protoze neni mozne urcit celkovou velikost souboru ale to se mi jako reseni nelibi protoze neni ukazany postup stahovani.

Muzete mi poradit nejakou vychytavku nebo poradit kde delam chybu??

diky a s pozdravem Wysky
Kalda
Profil *
Zkusil bych následující postup - nahrajte si soubor na web a odchyťte si hlavičky, které posílá HTTP server a podle toho se pokuste doplnit chybějící hlavičky.
Minimálně bych zasílal ještě hlavičku Last-Modified, možná i Accept-Ranges: bytes.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0