Heim > Artikel > Backend-Entwicklung > Was tun, wenn PHP keine großen Dateien herunterladen kann?
Lösung für das Problem, dass PHP keine großen Dateien herunterladen kann: Suchen und öffnen Sie dann die Datei „memory_limit“ auf 1024 MB; geben Sie dann die Daten an den Client-Browser aus.
Empfohlen: „PHP-Video-Tutorial“
Lösung des Problems, dass mit PHP keine großen Dateien heruntergeladen werden können
In tatsächlichen Anwendungen gibt es eine Größenbeschränkung, wenn die fread()-Funktion von PHP verwendet wird Serverdateien lesen. Wenn die Dateigröße des Servers einen bestimmten Wert überschreitet (128 MB?), kann der Client-Browser die Datei nicht herunterladen. Liegt es am Memory_limit-Limit in der Konfigurationsdatei php.ini?
Nachdem ich das Memory_Limit auf 1024 MB gesetzt habe, habe ich eine 180 MB große Datei getestet und festgestellt, dass das Problem weiterhin besteht. Code:
header('content-type:application/octet-stream'); header('accept-ranges: bytes'); header('content-length: '.filesize($filePath)); header('content-disposition:attachment;filename='.$fileName); $fp = fopen($filePath, "r"); echo fread($fp, filesize($filePath)); fclose($fp);
Die obige Lesemethode besteht darin, die Daten auf einmal an den Client-Browser auszugeben Es? Versuchen Sie, Zeile für Zeile aus der Datei zu lesen:
header('content-type:application/octet-stream'); header('accept-ranges: bytes'); header('content-length: '.filesize($filePath)); header('content-disposition:attachment;filename='.$fileName); $fp = fopen($filePath, "r"); while(!feof($fp)) { echo fgets($fp, 4096); } fclose($fp);
Aha! Kein Problem mehr.
Das obige ist der detaillierte Inhalt vonWas tun, wenn PHP keine großen Dateien herunterladen kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!