Aktueller Standort: Startseite> Neueste Artikel> Detaillierte Erläuterung der Funktion PHP ZIP_ENTRY_READ (): So lesen Sie den Inhalt der ZIP -Datei

Detaillierte Erläuterung der Funktion PHP ZIP_ENTRY_READ (): So lesen Sie den Inhalt der ZIP -Datei

gitbox 2025-06-15

1. Einführung

Die Funktion zip_entry_read () in PHP wird verwendet, um Dateidaten im ZIP -Paket zu lesen. Diese Funktion hängt vom Objekt Zip_entry ab. Vor dem Aufrufen müssen Sie die Funktion zip_entry_open () verwenden, um das Objekt Zip_entry zu öffnen. Die Funktion zip_entry_read () liest die Daten im ZIP -Paket allmählich über einen internen Zeiger, bis sie bis zum Ende der Datei gelesen wird, und gibt eine leere Zeichenfolge zurück, die angibt, dass die Datei gelesen wurde.

2. Funktionsprototyp

ZIP_ENTRY_READ -Funktionsprototyp

 
string zip_entry_read(resource $zip_entry, int $length)
        

zip_entry_open Funktionsprototyp

 
bool zip_entry_open(resource $zip, resource $zip_entry [, string $mode = "rb"])
        

3.. Parameterbeschreibung

ZIP_ENTRY_READ -Funktion Parameter Beschreibung

Diese Funktion hat zwei Parameter:

  • ZIP_ENTRY: Das zu lesen von ZIP_ENTRY -Objekt
  • Länge: Die Anzahl der zu gelesenen Bytes

zip_entry_open Funktionsparameter Beschreibung

Diese Funktion hat drei Parameter:

  • ZIP: Der zu öffnende Zip -Stream
  • ZIP_ENTRY: Das zu öffnende Zip_entry -Objekt
  • Modus: Der Modus des Öffnens der ZIP-Datei, Standardeinstellung, ist "RB", was bedeutet, die ZIP-Datei im schreibgeschützten Modus zu öffnen.

4. Rückgabewertbeschreibung

Die Funktion zip_entry_read () gibt eine Zeichenfolge zurück, die Daten enthält, die aus der Datei gelesen wird, die ZIP_ENTRY entspricht. Wenn es am Ende der Datei gelesen wurde, gibt die Funktion eine leere Zeichenfolge zurück.

Die Funktion zip_entry_open () gibt einen booleschen Wert zurück, der angibt, ob das Zip_entry -Objekt erfolgreich geöffnet wurde. Rückgeben Sie True, wenn Sie erfolgreich sind, falsch zurück, wenn Sie gescheitert sind.

5. Probendemonstration

Das folgende Beispiel zeigt, wie die Funktion zip_entry_read () verwendet wird, um Inhalte in einer ZIP -Datei zu lesen:

 
<?php
// Offenzipdokumentieren
$zip = zip_open("test.zip");
if ($zip) {
    while ($zip_entry = zip_read($zip)) {
        $entry_name = zip_entry_name($zip_entry);
        if (substr($entry_name, -1) != '/') {
            if (zip_entry_open($zip, $zip_entry, "r")) {
                echo "Contents of $entry_name:";
                while ($data = zip_entry_read($zip_entry, 1024)) {
                    echo $data;
                }
                zip_entry_close($zip_entry);
            }
        }
    }
    zip_close($zip);
}
?>
        

Der obige Code durchquert alle Dateien in der Datei test.zip und liest den Inhalt jeder Datei.

6. Dinge zu beachten

Beim Lesen großer Dateien wird empfohlen, die Funktion zip_entry_read () mehrmals aufzurufen, jedes Mal einen Teil der Daten zu lesen und jedes Mal, wenn sie gelesen wird, bis zum Ende der Datei gelesen wurde. Dies kann die Speicherverwendung effektiv reduzieren und die Programmleistung verbessern.

Wenn Sie die Funktion zip_entry_read () verwenden, rufen Sie außerdem die Funktion zip_entry_open () auf, um das Objekt Zip_entry zu öffnen, andernfalls wird ein Fehler verursacht.