Zum Inhalt springen

zip_entry_open()

⚠️ Veraltungshinweis: Die Funktion zip_entry_open() gehört zur veralteten zip-Erweiterung, die in PHP 7.4 veraltet und in PHP 8.0 entfernt wurde. Die folgenden Beispiele dienen nur historischen Zwecken. Für moderne PHP-Anwendungen verwenden Sie stattdessen die Klasse ZipArchive.

Die Funktion zip_entry_open() ist eine integrierte Funktion in PHP, die zum Öffnen einer Datei in einem ZIP-Archiv verwendet wird. Die Funktion gibt einen Handle zurück, der zum Lesen des Dateiinhalts genutzt werden kann.

Syntax

Die Syntax der Funktion zip_entry_open() lautet wie folgt:

Syntax der zip_entry_open()-Funktion in PHP

php
resource zip_entry_open(resource $zip, resource $zip_entry [, string $mode = "r" [, resource $password ]])

Dabei steht $zip für den von zip_open() zurückgegebenen ZIP-Handle, $zip_entry für den zip_entry-Handle der Datei im ZIP-Archiv, $mode für den Modus, in dem die Datei geöffnet werden soll, und $password für das Passwort verschlüsselter ZIP-Archive.

Anwendungsbeispiele

Werfen wir einen Blick auf ein praktisches Beispiel zur Verwendung von zip_entry_open() in PHP.

Beispiel: Öffnen einer Datei in einem ZIP-Archiv

Nehmen wir an, Sie haben ein ZIP-Archiv mit den PHP-ZIP-Funktionen geöffnet und möchten eine Datei darin öffnen. Dazu können Sie die Funktion zip_entry_open() verwenden, wie hier gezeigt:

Öffnen einer Datei in einem ZIP-Archiv in PHP

php
$zip = zip_open("example.zip");
$zip_entry = zip_read($zip);

// open the file
$zip_entry_handle = zip_entry_open($zip, $zip_entry, "r");

// read the contents of the file
$file_contents = zip_entry_read($zip_entry_handle, zip_entry_filesize($zip_entry));

// close the file handle
zip_entry_close($zip_entry_handle);

Dieser Code öffnet eine ZIP-Archivdatei „example.zip“ mit zip_open(). Anschließend lesen wir eine Datei im Archiv mit zip_read() und öffnen die Datei mit zip_entry_open() im Modus „r“. Der Dateiinhalt wird mit zip_entry_read() gelesen und der Handle mit zip_entry_close() geschlossen.

Moderne Alternative: ZipArchive-Klasse

Um dasselbe Ergebnis in PHP 8.0+ zu erzielen, verwenden Sie die integrierte Klasse ZipArchive:

php
$zip = new ZipArchive;
if ($zip->open('example.zip') === true) {
    // Get the first file entry in the archive
    $stat = $zip->statIndex(0);
    $file_contents = $zip->getFromName($stat['name']);
    $zip->close();
}

Fazit

In diesem Artikel haben wir die PHP-Funktion zip_entry_open() und deren Verwendung zum Öffnen einer Datei in einem ZIP-Archiv besprochen. Wir haben erklärt, was die Funktion tut, ihre Syntax dargestellt und ein Beispiel für die praktische Anwendung gegeben. Beachten Sie, dass zip_entry_open() veraltet ist und in PHP 8.0 entfernt wurde. Für moderne Projekte sollten Sie die Klasse ZipArchive zum Öffnen und Lesen von Dateien in einem ZIP-Archiv verwenden.

Practice

Was bewirkt die Funktion ZipEntry::open() in PHP?

Finden Sie das nützlich?

Dual-run-Vorschau — vergleichen Sie mit den Symfony-Routen live.