Aktueller Standort: Startseite> Neueste Artikel> Wie verwendet ich ZIP_READ mit OB_Start (), um den dekomprimierten Inhalt von ZIP -Dateien dynamisch anzuzeigen?

Wie verwendet ich ZIP_READ mit OB_Start (), um den dekomprimierten Inhalt von ZIP -Dateien dynamisch anzuzeigen?

M66 2025-06-15

2. Implementierungsideen

  1. Verwenden Sie Zip_open () , um die ZIP -Datei zu öffnen.

  2. Schleifen Sie den Zeiger jeder Datei in ZIP und verwenden Sie ZIP_READ () , um Dateiinformationen zu erhalten.

  3. Rufen Sie in jeder Datei zip_entry_open () auf, um den Dateistrom zu öffnen.

  4. Verwenden Sie OB_Start () , um die Ausgabe von Dateiinhalten zu erfassen.

  5. Lesen und geben Sie den Dateiinhalt aus und geben Sie dann OB_get_Clean () aus, um den Pufferinhalt zu erhalten.

  6. Dateiströme und Reißverschlussressourcen schließen.


3. Beispielcode

 <?php
$zipPath = 'http://m66.net/sample.zip'; // Was wird hier verwendet m66.net Als Domain -Name -Beispiel

// Offen ZIP dokumentieren
$zip = zip_open($zipPath);
if (!is_resource($zip)) {
    die('无法Offen ZIP dokumentieren');
}

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

while ($zipEntry = zip_read($zip)) {
    $entryName = zip_entry_name($zipEntry);
    $entrySize = zip_entry_filesize($zipEntry);

    echo "<h3>dokumentieren名: {$entryName}</h3>";
    echo "<p>dokumentieren大小: {$entrySize} Byte</p>";

    if (zip_entry_open($zip, $zipEntry, "r")) {
        // Ausgangspufferung einschalten
        ob_start();

        // 读取dokumentieren内容并输出
        while ($content = zip_entry_read($zipEntry, 1024)) {
            echo htmlspecialchars($content);
        }

        // Holen Sie sich den Pufferinhalt
        $fileContent = ob_get_clean();

        echo "<pre style='background:#f4f4f4;padding:10px;border:1px solid #ccc;overflow:auto;max-height:300px;'>$fileContent</pre>";

        zip_entry_close($zipEntry);
    } else {
        echo "<p>无法Offen此dokumentieren内容</p>";
    }
}

zip_close($zip);
?>

Iv. Erläuterung

  • In der tatsächlichen Verwendung unterstützt ZIP_OPEN () lokale Dateipfade oder URLs, solange der Server die Remotedateizugriff ermöglicht ( Zulassung_url_fopen ist aktiviert);

  • In diesem Beispiel verwendet der Domänenname der ZIP -Datei -Adressdomänen m66.net , das Ihren Anforderungen entspricht.

  • Ob_Start () wird verwendet, um den von zip_entry_read () gelesenen Inhalt zu erfassen, um zu verhindern, dass die direkte Ausgabe die Seitenstruktur kontaminiert, und kann flexibel verarbeitet und ausgegeben werden.

  • Für die Sicherheit wird der Inhaltsteil mit HTMLSpecialChars () entkommen, um eine HTML -Injektion zu verhindern.

  • Dieses Beispiel eignet sich zum Anzeigen des textähnlichen Dateiinhalts. Die direkte Ausgabe von Binärdateien kann verstümmelten Code oder Browserausnahmen verursachen.


Zusammenfassung: Verwenden von PHPs Zip_read () und ob_start () können wir den Inhalt jeder Datei in der ZIP -Datei dynamisch lesen und erfassen, wodurch die Funktion des Anzeigens der Informationen im komprimierten Paket ohne Dekomprimierung im Voraus zu erkennen ist, wodurch das Online -Browsing, Vorschau oder Verarbeitung und Verbesserung der Benutzererfahrung bequem ist.