Heim  >  Artikel  >  Backend-Entwicklung  >  Was tun, wenn PHP keine großen Dateien herunterladen kann?

Was tun, wenn PHP keine großen Dateien herunterladen kann?

藏色散人
藏色散人Original
2020-08-22 10:49:432861Durchsuche

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.

Was tun, wenn PHP keine großen Dateien herunterladen kann?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn