Hallo,
wir haben ein Downloadbereich für unsere Kunden. Das funktioniert soweit auch gannz gut. Allerdings bricht bei größeren Dateien der Download immer nach ca. 5-6 Minuten ab. Bei kleineren Dateien, wo der Download nicht so lange dauert, funktioniert das.
Ich habe schon ein speicherschonendes Script - von daher kann ich mir jetzt nicht erklären, wieso das dann doch immer nicht funktioniert. Vielleicht gibt es noch irgendwelche Begrenzungen, von denen ich nichts weiß!?
Vielen Dank im Voraus!
Hier mein Script:
wir haben ein Downloadbereich für unsere Kunden. Das funktioniert soweit auch gannz gut. Allerdings bricht bei größeren Dateien der Download immer nach ca. 5-6 Minuten ab. Bei kleineren Dateien, wo der Download nicht so lange dauert, funktioniert das.
Ich habe schon ein speicherschonendes Script - von daher kann ich mir jetzt nicht erklären, wieso das dann doch immer nicht funktioniert. Vielleicht gibt es noch irgendwelche Begrenzungen, von denen ich nichts weiß!?
Vielen Dank im Voraus!
Hier mein Script:
PHP-Code:
function downloadLargeFile($filepath){
//check if file exists
if(file_exists($filepath)){
//File found
$filename = explode(DIRECTORY_SEPARATOR, $filepath);
$filename = $filename[count($filename)-1];
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"".$filename."\"");
header("Content-length: ".filesize($filepath));
header("Cache-control: private");
return readfile_chunked($filepath);
} else {
//File not found
return false;
}
}
function readfile_chunked ($filename) {
$chunksize = 1*(1024*1024); // how many bytes per chunk
$buffer = '';
$handle = fopen($filename, 'rb');
if ($handle === false) {
return false;
}
while (!feof($handle)) {
$buffer = fread($handle, $chunksize);
print $buffer;
ob_flush();
flush();
}
return fclose($handle);
}
set_time_limit(0);
downloadLargeFile($Datei);


Kommentar