Aktueller Standort: Startseite> Neueste Artikel> Vollständiges Beispiel von ZIP_OPEN () + ZIP_READ () + ZIP_ENTRY_READ ()

Vollständiges Beispiel von ZIP_OPEN () + ZIP_READ () + ZIP_ENTRY_READ ()

M66 2025-06-06

In PHP werden die Funktionen von ZIP -Dateien normalerweise mit ZIP_OPEN () , ZIP_READ () und ZIP_ENTRY_READ () behandelt. Sie ermöglichen es uns, eine ZIP -Datei zu öffnen, die darin enthaltenen Dateieinträge durchzusetzen und den Dateiinhalt zu lesen. In diesem Artikel wird ein vollständiges Beispiel verwendet, um zu erklären, wie diese drei Funktionen zum Lesen einer ZIP -Datei verwendet werden.


1. Funktion Einführung

  • ZIP_OPEN ($ Dateiname)
    Öffnen Sie eine ZIP -Datei und geben Sie einen Ressourcenhandle zurück.

  • ZIP_READ ($ ZIP)
    Lesen Sie den nächsten Eintrag in der ZIP -Datei und geben Sie eine ROSP -Eintragsressource zurück.

  • ZIP_ENTRY_READ ($ Eintrag, $ Länge)
    Lesen Sie die Inhalte im ZIP -Eintrag und lesen Sie die maximale Anzahl angegebener Bytes.

  • ZIP_ENTRY_NAME ($ Eintrag)
    Ruft den Dateinamen des aktuellen ZIP -Eintrags ab.

  • ZIP_CLOSE ($ ZIP)
    Schließen Sie die Ressource für ZIP -Datei.


2. Kompletter Beispielcode

Das folgende Beispiel zeigt, wie Sie eine ZIP -Datei öffnen, alle Dateien innerhalb des Inhalts durchqueren und den Inhalt in den Browser ausgeben:

 <?php
// ZIPDateipfad(Bitte ersetzen Sie es durch den tatsächlichen Pfad)
$zipFile = 'http://m66.net/path/to/your.zip';

// OffenZIPdokumentieren
$zip = zip_open($zipFile);

if (!$zip || is_numeric($zip)) {
    die("无法OffenZIPdokumentieren");
}

echo "<h2>ZIPdokumentieren内容列表:</h2>";

while ($entry = zip_read($zip)) {
    // 获取当前dokumentieren名
    $fileName = zip_entry_name($entry);
    echo "<h3>dokumentieren名: $fileName</h3>";

    // OffenZIPEintrag
    if (zip_entry_open($zip, $entry)) {
        $fileSize = zip_entry_filesize($entry);
        $content = '';

        // 按块读取dokumentieren内容(Die meiste Zeit1024Byte)
        while ($data = zip_entry_read($entry, 1024)) {
            $content .= $data;
        }

        // Den Strom schließenZIPEintrag
        zip_entry_close($entry);

        // 输出dokumentieren内容(Hier ist eine einfache Ausgabe im Text,Beachten Sie, dass binäre Daten enthalten sein können)
        echo "<pre>" . htmlspecialchars($content) . "</pre>";
    } else {
        echo "无法OffendokumentierenEintrag: $fileName<br>";
    }
}

// SchließungZIPdokumentieren
zip_close($zip);
?>

3.. Dinge zu beachten

  1. ZIP_OPEN () unterstützt lokale Dateipfade und Remote -URLs -Unterstützung erlaubte_url_fopen , die von PHP abhängen. Wenn die Remote -Öffnung fehlschlägt, wird empfohlen, die ZIP -Datei vor dem Betrieb lokal herunterzuladen.

  2. Beim Lesen des Inhalts von Binärdateien kann die direkte Ausgabe durch Ausnahmen oder Seitenausnahmen durch direkte Ausgabe führen. Es wird empfohlen, Daten nach Bedarf zu verarbeiten.