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

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

Patricia Arquette
Patricia ArquetteOriginal
2024-12-14 17:14:12659Durchsuche

How to Create and Download a ZIP Archive of Multiple Files Using PHP?

Erstellen eines ZIP-Archivs aus mehreren Dateien in PHP

Frage: Wie kann ich mehrere Dateien als ZIP herunterladen? Archiv verwenden PHP?

Lösung:

Um dies zu erreichen, können Sie die ZipArchive-Klasse von PHP nutzen. So können Sie vorgehen:

  1. ZIP-Archiv erstellen:

    $files = array('readme.txt', 'test.html', 'image.gif');
    $zipname = 'file.zip';
    $zip = new ZipArchive;
    $zip->open($zipname, ZipArchive::CREATE);
  2. Dateien hinzufügen zu die Postleitzahl Archiv:

    foreach ($files as $file) {
      $zip->addFile($file);
    }
  3. ZIP-Archiv schließen:

    $zip->close();
  4. Stream das ZIP-Archiv zum Client:

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

Die erste Zeile im Streaming-Abschnitt gibt den Inhaltstyp als ZIP-Archiv an. Die zweite Zeile weist den Browser an, eine Download-Box für den Benutzer anzuzeigen und weist den Dateinamen file.zip zu. Die dritte Zeile berechnet und legt den Content-Length-Header für ältere Browser fest, bei denen möglicherweise Probleme auftreten, ohne die Dateigröße im Voraus zu kennen.

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