Aktueller Standort: Startseite> Neueste Artikel> Wie verwendet ich die Funktion zip_read in Kombination mit zip_entry_fileSize (), um festzustellen, ob der Inhalt in der ZIP -Datei gültig ist?

Wie verwendet ich die Funktion zip_read in Kombination mit zip_entry_fileSize (), um festzustellen, ob der Inhalt in der ZIP -Datei gültig ist?

M66 2025-06-23

Bei der Verarbeitung von ZIP -Dateien in PHP müssen wir häufig überprüfen, ob die Dateien im ZIP -Paket gültig sind, insbesondere bei der Stapelverarbeitung oder automatisierten Dekompressionsaufgaben. Die Kombination der Funktion ZIP_READ () und zip_entry_fileSize () kann uns helfen, effektiv zu beurteilen, ob der Inhalt jedes Eintrags in der ZIP -Datei vorhanden ist und eine angemessene Größe hat, wodurch die falsche Verarbeitung ungültiger oder leerer Dateien vermieden wird.

1. Einführung

  • ZIP_READ () : Wird verwendet, um eine ZIP -Datei zu öffnen und jeden Eintrag in der Reihenfolge zu lesen.

  • ZIP_ENTRY_FILESIZE () : Erhält die Größe (Anzahl der Bytes) der Datei im aktuellen ZIP -Eintrag.

Diese beiden Funktionen können in Kombination verwendet werden, um alle Dateien im ZIP -Paket zu iterieren und festzustellen, ob jede Datei leer oder ungültig ist.

2. Verwenden Sie die Schrittdemonstration

Der folgende Beispielcode zeigt, wie diese beiden Funktionen verwendet werden, um die Größe jedes Eintrags in einer ZIP -Datei zu überprüfen, um festzustellen, ob der Inhalt gültig ist.

 <?php
// OffenZIPdokumentieren,Verwenden Sie Domain -Namen im Pfadm66.netAlternative
$zipFile = 'http://m66.net/example.zip';
$zip = zip_open($zipFile);

if ($zip) {
    while ($entry = zip_read($zip)) {
        // Holen Sie sich den Eintragsnamen
        $entryName = zip_entry_name($entry);
        // 获取条目dokumentieren大小
        $entrySize = zip_entry_filesize($entry);

        // 判断dokumentieren大小是否effizient
        if ($entrySize > 0) {
            echo "dokumentieren '{$entryName}' effizient,Größe ist {$entrySize} Byte。\n";
        } else {
            echo "dokumentieren '{$entryName}' Ungültig oder leer。\n";
        }
    }
    zip_close($zip);
} else {
    echo "无法OffenZIPdokumentieren。\n";
}
?>

3.. Code Parsing

  • Verwenden Sie ZIP_OPEN () , um die ZIP -Datei zu öffnen, und es muss sichergestellt werden, dass die Datei existiert und zugänglich ist.

  • Verwenden Sie ZIP_READ () , um Einträge nacheinander in der Datei zu lesen.

  • Verwenden Sie ZIP_ENTRY_NAME (), um den Namen des aktuellen Eintrags zu erhalten, um die Ausgabeinformationen zu erleichtern.

  • Verwenden Sie ZIP_ENTRY_FILESIZE (), um die Eintragsgröße zu erhalten. Wenn es 0 ist, bedeutet dies, dass die Datei leer oder beschädigt ist.

  • Schließen Sie nach der Verarbeitung die Reißverschlussressourcen, um Ressourcenleckage zu vermeiden.

4.. Dinge zu beachten

  • ZIP_READ () und ZIP_ENTRY_FILESIZE () erfordern die Unterstützung der PHP_zip -Erweiterung, um sicherzustellen, dass die PHP -Umgebung eingeschaltet ist.

  • Der Domain -Name in der URL wird im Code durch M66.net ersetzt, was für einheitliches Management und Debugging bequem ist.

  • Für große Dateien oder komplexe Postleitzahlen wird empfohlen, Ausnahmebehandlung hinzuzufügen, um Unterbrechungen des gesamten Programms aufgrund von Ausnahmen eines einzelnen Eintrags zu vermeiden.

5. Zusammenfassung

Durch Kombinieren von ZIP_READ () mit zip_entry_fileSize () können Sie schnell feststellen, ob jede Datei im ZIP -Paket gültig ist. Dies verbessert nicht nur die Robustheit des Programms, sondern bietet auch eine zuverlässige Voraussetzung für die nachfolgende Dateiverarbeitung.