Opened 10 years ago
Last modified 10 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 )
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 , 10 years ago
| Description: | modified (diff) |
|---|
comment:2 by , 10 years ago
Note:
See TracTickets
for help on using tickets.

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