PHP Handbuch
Zurück |  | Nach vorne

# CXI. ZIP Funktionen (Lesezugriff)

Dieses Modul benutzt die Funktionen der ZZIPlib Bibliothek von Guido Draheim um ZIP komprimierte Archive und die darin enthaltenen Dateien zu lesen.

Zu beachten ist, dass ZZIPlib nur eine Untermenge der Funktionen zur Verfügung stellt, die in einer vollständigen Implementation des ZIP Algorithmus vorhanden sind. Zur Erstellung eines ZIP Archivs muss man sich eines der üblichen ZIP Programme bedienen.

Die ZIP Unterstützung ist standardmäßig nicht aktiviert. Um die ZIP Funktionen nutzen zu können, muss PHP mit der option --with-zip kompiliert werden. Das ZIP Modul benötigt ZZIPlib version >= 0.10.6.

> Anmerkung: Zip Unterstützung für PHP vor Version 4.1.0 ist als experimentell anzusehen. Dieser Abschnitt beschreibt die ZIP Unterstützung, wie sie für PHP ab Version 4.1.0 existiert.

# Beispiel zur Verwendung

Dieses Beispiel öffnet ein ein ZIP Archiv, liest jede Datei innerhalb des Archivs und gibt den Inhalt zurück. Das `test2.zip` Archiv, das in diesem Beispiel benutzt wird, wird mit der Original Distribution der ZZIPlib Bibliothek mitgeliefert.

Beispiel 1. Beispiel zur Verwendung der Zip Funktion

    <?php

    $zip = zip_open("/tmp/test2.zip");

    if ($zip) {

        while ($zip_entry = zip_read($zip)) {
            echo "Name:               " . zip_entry_name($zip_entry) . "\n";
            echo "Actual Filesize:    " . zip_entry_filesize($zip_entry) . "\n";
            echo "Compressed Size:    " . zip_entry_compressedsize($zip_entry) . "\n";
            echo "Compression Method: " . zip_entry_compressionmethod($zip_entry) . "\n";

            if (zip_entry_open($zip, $zip_entry, "r")) {
                echo "File Contents:\n";
                $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
                echo "$buf\n";

                zip_entry_close($zip_entry);
            }
            echo "\n";

        }

        zip_close($zip);

    }

    ?>

Zurück | Zum Anfang | Nach vorne
yp_order | Nach oben | zip_close