Heim  >  Artikel  >  Backend-Entwicklung  >  Beispiel dafür, wie PHP die Funktion readfile() verwendet, um die Dateigröße festzulegen

Beispiel dafür, wie PHP die Funktion readfile() verwendet, um die Dateigröße festzulegen

黄舟
黄舟Original
2017-08-11 09:15:131632Durchsuche

Dieser Artikel erklärt, wie PHP die Funktion readfile() verwendet, um die Dateigröße anhand von Beispielcode festzulegen. Freunde, die ihn benötigen, können darauf zurückgreifen.

Verwenden Sie das von PHP ZipArchive generierte komprimierte Paket Es kann heruntergeladen werden, aber heute ist mir ein 404-Fehler aufgefallen, als es über 150 MB war. Das erste, was mir in den Sinn kam, war, dass die Dateigröße die Standardeinstellung von PHP überschritt. Es gibt zwei Möglichkeiten, es zu ändern:

php.ini: memory_limit

memory_limit legt das Speicherlimit fest. Wenn Sie readfile() zum Lesen von Dateien verwenden, wird dieser Wert einfach geändert und dann gespeichert PHP-FPM neu starten.


memory_limit = 128M

Denken Sie zum Schluss daran: Service PHP-FPM neu starten

ini_set

PHP ini_set ist daran gewöhnt set Der Wert von php.ini wird wirksam, wenn die Funktion ausgeführt wird. Dann können wir ihn direkt verwenden, um die Speicherausführungsgröße zu ändern. Wenn einige Freunde virtuellen Speicherplatz verwenden, ist diese Funktion ein Retter.


ini_set('memory_limit', '512M');

Vollständiges Beispiel:


set_time_limit(0);
ini_set('memory_limit', '512M');
header("Cache-Control: public");
header("Content-Description: File Transfer");
header('Content-disposition: attachment; filename=' . basename($zipfile));
header("Content-Type: application/zip");
header("Content-Transfer-Encoding: binary");
header('Content-Length: ' . filesize($zipfile));
ob_clean();
flush();
@readfile($zipfile);
unlink($zipfile);

Zusammenfassung

Das obige ist der detaillierte Inhalt vonBeispiel dafür, wie PHP die Funktion readfile() verwendet, um die Dateigröße festzulegen. 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