PHP ERR_EMPTY_RESPONSE // Fehler beim Download von Dateien mit bestimmter Dateigröße

-]Dr.OeTz![-

Lt. Junior Grade
Dabei seit
Nov. 2009
Beiträge
400
Hallo,

wenn ich mit folgendem Script einen Download generiere, bekomme ich die Fehlermeldung ERR_EMPTY_RESPONSE im Browser angezeigt.

PHP:
        if(!isset($_GET['param'])){
	        echo "falscher Parameter - ABBRUCH";
	        exit;
        }


	$gallerie = 'downloads/';
		
	

	$filename = $_GET['param'].$_GET['quality'].'.zip';
	$filepath = $gallerie;
	
	$filesize = sprintf("%u", filesize($filepath.$filename));							

	
	header("Pragma: public");
	header("Expires: 0");
	header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
	header("Cache-Control: public");
	header("Content-Description: File Transfer");
	header("Content-type: application/octet-stream");
	header("Content-Disposition: attachment; filename=\"".$filename."\"");
	header("Content-Transfer-Encoding: binary");
	header("Content-Length: ".$filesize);
	@ob_end_flush();
	@readfile($filepath.$filename);
Der Fehler tritt ausschließlich bei Dateien mit rund 300MB auf. Ich kann mir überhaupt keinen Reim daraus machen und auch die Suche bei google war erfolglos

Der Pfad zur Datei ist definitiv korrekt - denn nehme ich eine Datei mit gleichem Dateinamen aber anderer Größe, läuft der Download des ZIP-Archivs einwandfrei

Hat jemand ne Idee wo ich ansetzen sollte?
 

KarlEgon

Lt. Junior Grade
Dabei seit
Aug. 2009
Beiträge
328
Die @ Zeichen unterdrücken Fehler die vielleicht auftreten!
Tritt der Fehler bei Dateien ab 300MB auf oder nur bei ca. 300MB und größere Dateien gehen wieder?
 

Daaron

Fleet Admiral
Dabei seit
Dez. 2011
Beiträge
13.487
Was wird'n groß sein? Das PHP-Script wird wahlweise seine Laufzeit oder seinen RAM überschreiten. Evtl. auch beides.
Mach die @'s weg und schreib etwas Code um Fehler abzufangen.
 

-]Dr.OeTz![-

Lt. Junior Grade
Ersteller dieses Themas
Dabei seit
Nov. 2009
Beiträge
400
Also ich habe auch Files, die deutlich über 1GB sind und das läuft einwandfrei... alle Dateien mit rund 300-400MB laufen nicht. die @ wegmachen bringt leider keinen Unterschied - gleicher Fehler

Das mit dem Header bringt leider auch keinerlei Änderung

Ich kann es echt nicht nachvollziehen...

Er wirft halt auch keinen Fehler, einfach nur ERR_EMPTY_RESPONSE - das wars
 
Zuletzt bearbeitet:

Daaron

Fleet Admiral
Dabei seit
Dez. 2011
Beiträge
13.487
readfile() hat einen Rückgabewert: die Dateigröße
Schreib den Kram doch mal in eine Logdatei, zusammen mit dem Dateinamen udn deiner erwarteten Dateigröße. Dann siehst du eventuelle Abweichungen schon.
 
Top