Opened 7 years ago

Last modified 7 years ago

#482 new enhancement

Modul Download / ggf. DownloadPlus

Reported by: Roger Rehnelt Owned by: d.schmitzer
Priority: major Milestone: 3.13
Component: Core Version: 3.11
Keywords: Cc:

Description (last modified by Roger Rehnelt)

Derzeit ist es so, dass zunächst die ganze Datei eingelesen wird, um sie dann herunter zu laden. Bei großen Dateien und niedrigen php.ini Beschränkungen kann dies schon zum Flaschenhals werden.

Ich habe folgende Script gefunden, was den Speicher nicht so sehr belasten sollte:

<?php
$filename = $_GET['s'];
 
header ("HTTP/1.1 200 OK");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"".$filename."\"");
header("Content-Length: ".filesize($filename));
 
$size = 1048576;
$file = fopen($filename, 'rb');
while (!feof($file))
{
    echo fread($file, $size);
    ob_flush();
    flush();
}
fclose($handle);
?>

Vielleicht schafft das Abhilfe?

Change History (2)

comment:1 by Roger Rehnelt, 7 years ago

Description: modified (diff)

comment:2 by Roger Rehnelt, 7 years ago

Kurz noch zur Erklärung:
Die Variante nennt sich "chunked". Die Datei wird in IMHO Häppchen aufgeteilt, bis das Dateiende erreicht wird.

Note: See TracTickets for help on using tickets.