Aktueller Standort: Startseite> Neueste Artikel> Verwenden Sie ZIP_ENTRY_READ (), um den Inhalt des aktuellen ZIP -Eintrags zu lesen

Verwenden Sie ZIP_ENTRY_READ (), um den Inhalt des aktuellen ZIP -Eintrags zu lesen

M66 2025-06-06

Bei der Verarbeitung komprimierter Dateien in PHP, zip_read () und zip_entry_read () sind zwei sehr nützliche Funktionen, mit denen wir den Inhalt von ZIP -Dateien lesen können. In diesem Artikel wird ausführlich erläutert, wie diese beiden Funktionen in Kombination verwendet werden, um den Inhalt jedes Eintrags im Reißverschluss -Paketelement nach Element zu lesen und auszugeben.


1. Funktion Einführung

  • ZIP_READ (Ressource $ ZIP)
    Diese Funktion akzeptiert eine offene ZIP -Ressource und gibt eine Ressource zurück, die auf einen ZIP -Eintrag zeigt, der den aktuellen Eintrag in ZIP darstellt. Wenn alle Einträge gelesen werden, wird False zurückgegeben.

  • ZIP_ENTRY_READ (Ressource $ zip_entry, int $ len = 1024)
    Diese Funktion liest den Inhalt des aktuellen ZIP -Eintrags der angegebenen Länge. Die Ressourcen und die Anzahl der Bytes, die vom aktuellen ZIP -Eintrag gelesen werden sollen, müssen übergeben werden.


2. Beispielcode Erläuterung

Der folgende Beispielcode zeigt, wie Sie eine ZIP -Datei öffnen, alle Einträge durchführen und den Inhalt jedes Eintrags ausgeben:

 <?php
// Offen a Zip dokumentieren,Pfadbeispiel:http://m66.net/example.zip
$zip = zip_open('http://m66.net/example.zip');

if (!$zip) {
    echo "Nicht öffnen können Zip dokumentieren。";
    exit;
}

// Durchqueren Zip Alle Einträge in
while ($zip_entry = zip_read($zip)) {
    // Holen Sie sich den Eintragsnamen
    $entry_name = zip_entry_name($zip_entry);
    echo "Einträge lesen: $entry_name\n";

    // Öffnen Sie den aktuellen Eintrag, um den Inhalt zu lesen
    if (zip_entry_open($zip, $zip_entry)) {
        $content = '';
        
        // 循环Einträge lesen内容,Vermeiden Sie zu große Inhalte, um auf einmal gelesen zu werden
        while ($data = zip_entry_read($zip_entry, 1024)) {
            $content .= $data;
        }

        // Ausgabeeintragsinhalt
        echo "Der Inhalt ist wie folgt:\n";
        echo $content . "\n";

        // Schließen Sie den aktuellen Eintrag
        zip_entry_close($zip_entry);
    } else {
        echo "Nicht öffnen können条目 $entry_name Lesen Sie lesen。\n";
    }

    echo "------------------------\n";
}

// Schließung Zip Ressource
zip_close($zip);
?>

3.. Code Beschreibung

  • Die Funktion zip_open () wird zum Öffnen von Zip -Dateien verwendet, unterstützt lokale Pfade oder kann eine Remote -URL sein (z. B. http://m66.net/example.zip im Beispiel).

  • Lesen Sie jeden Eintrag über ZIP_READ () Schleife.

  • Rufen Sie in jedem Eintrag ZIP_ENTRY_OPEN () an, um es zu öffnen, und verwenden Sie dann zip_entry_read (), um den Inhalt zu lesen. Hier werden 1024 Bytes jeweils gelesen und Schleife, bis der Inhalt fertig ist.

  • Schließen Sie nach dem Lesen den Eintrag und schließen Sie schließlich die gesamte Zip -Datei -Ressource.


4.. Dinge zu beachten

  • Die Funktion Zip_read von PHP basiert auf der ZIP -Erweiterung, um sicherzustellen, dass die Erweiterung in Ihrer Umgebung aktiviert wurde.

  • Der Remote -URL -Zugriff erfordert, dass der Server erlaubt_url_fopen unterstützt.

  • Für große Dateien wird empfohlen, die Leseblockgröße vernünftig zu steuern, um Speicherüberlauf zu vermeiden.

  • Diese Methode eignet sich zum Lesen von Textdateien oder kleineren Binärdateien. Für komplexe Zip -Operationen können Sie in Betracht ziehen, die Ziparchive -Klasse zu verwenden.