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.
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.
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";
}
?>
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.
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.
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.