Heim >Backend-Entwicklung >PHP-Tutorial >Wie erstelle und lade ich ein ZIP-Archiv mit mehreren Dateien in PHP herunter?

Wie erstelle und lade ich ein ZIP-Archiv mit mehreren Dateien in PHP herunter?

DDD
DDDOriginal
2024-12-23 19:42:15629Durchsuche

How to Create and Download a Multi-File ZIP Archive in PHP?

ZIP-Archive mit mehreren Dateien in PHP erstellen

Um mehrere Dateien als ein einzelnes ZIP-Archiv mit PHP herunterzuladen, können wir die ZipArchive-Klasse nutzen .

ZIP erstellen Archiv:

$files = array('readme.txt', 'test.html', 'image.gif');
$zipname = 'file.zip';
$zip = new ZipArchive;
$zip->open($zipname, ZipArchive::CREATE);
foreach ($files as $file) {
  $zip->addFile($file);
}
$zip->close();

Dieser Code erstellt ein ZIP-Archiv mit dem Namen „file.zip“ und fügt ihm die angegebenen Dateien hinzu.

Streaming des ZIP-Archivs zum Download:

header('Content-Type: application/zip');
header('Content-disposition: attachment; filename='.$zipname);
header('Content-Length: ' . filesize($zipname));
readfile($zipname);

Diese Header bereiten den Browser darauf vor, eine Download-Eingabeaufforderung anzuzeigen und den entsprechenden Dateinamen und die entsprechende Größe festzulegen. Durch Lesen der ZIP-Archivdatei und Streamen ihres Inhalts kann der Browser sie herunterladen.

Zusätzliche Hinweise:

  • Der Header „Content-disposition“ erzwingt die Browser, um dem Benutzer eine Download-Box anzuzeigen.
  • Der Header „Content-Length“ ist optional, stellt aber die Kompatibilität mit älteren Versionen sicher Browser.
  • Dieser Ansatz ermöglicht die dynamische Erstellung von ZIP-Archiven mit mehreren Dateien und deren Download.

Das obige ist der detaillierte Inhalt vonWie erstelle und lade ich ein ZIP-Archiv mit mehreren Dateien in PHP herunter?. 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