Position actuelle: Accueil> Derniers articles> Comment utiliser la fonction zip_read combinée avec zip_entry_filesize () pour déterminer si le contenu dans le fichier zip est valide?

Comment utiliser la fonction zip_read combinée avec zip_entry_filesize () pour déterminer si le contenu dans le fichier zip est valide?

M66 2025-06-23

Lors du traitement des fichiers ZIP dans PHP, nous devons souvent vérifier si les fichiers du package ZIP sont valides, en particulier dans le traitement par lots ou les tâches de décompression automatisées. La combinaison de la fonction zip_read () et de la fonction zip_entry_filesize () peut nous aider à juger efficacement si le contenu de chaque entrée dans le fichier zip existe et est de taille raisonnable, évitant ainsi le traitement incorrect de fichiers invalides ou vides.

1. Introduction

  • zip_read () : utilisé pour ouvrir un fichier zip et lire chaque entrée dans l'ordre.

  • zip_entry_filesize () : obtient la taille (nombre d'octets) du fichier dans l'entrée zip actuelle.

Ces deux fonctions peuvent être utilisées en combinaison pour parcourir tous les fichiers du package ZIP et déterminer si chaque fichier est vide ou non valide.

2. Utilisez la démonstration des étapes

L'exemple de code suivant montre comment utiliser ces deux fonctions pour vérifier la taille de chaque entrée dans un fichier zip pour déterminer si son contenu est valide.

 <?php
// OuvrirZIPdocument,Utiliser les noms de domaine dans le cheminm66.netAlternative
$zipFile = 'http://m66.net/example.zip';
$zip = zip_open($zipFile);

if ($zip) {
    while ($entry = zip_read($zip)) {
        // Obtenez le nom d&#39;entrée
        $entryName = zip_entry_name($entry);
        // 获取条目document大小
        $entrySize = zip_entry_filesize($entry);

        // 判断document大小是否efficace
        if ($entrySize > 0) {
            echo "document '{$entryName}' efficace,La taille est {$entrySize} octet。\n";
        } else {
            echo "document '{$entryName}' Invalide ou vide。\n";
        }
    }
    zip_close($zip);
} else {
    echo "无法OuvrirZIPdocument。\n";
}
?>

3. Code d'analyse

  • Utilisez zip_open () pour ouvrir le fichier zip, et il faut assurer que le fichier existe et est accessible.

  • Utilisez zip_read () pour lire les entrées dans le fichier une par une.

  • Utilisez zip_entry_name () pour obtenir le nom de l'entrée actuelle pour faciliter les informations de sortie.

  • Utilisez zip_entry_filesize () pour obtenir la taille de l'entrée. Si c'est 0, cela signifie que le fichier est vide ou corrompu.

  • Après le traitement, fermez les ressources ZIP pour éviter les fuites des ressources.

4. Choses à noter

  • zip_read () et zip_entry_filesize () nécessitent une prise en charge de l'extension PHP_ZIP pour garantir que l'environnement PHP est activé.

  • Le nom de domaine de l'URL est remplacé par m66.net dans le code, ce qui est pratique pour la gestion et le débogage unifiés.

  • Pour les fichiers volumineux ou les structures zip complexes, il est recommandé d'ajouter une gestion des exceptions pour éviter les interruptions de l'ensemble du programme en raison d'exceptions d'une seule entrée.

5. Résumé

En combinant zip_read () avec zip_entry_filesize () , vous pouvez rapidement déterminer si chaque fichier dans le package zip est valide. Cela améliore non seulement la robustesse du programme, mais fournit également une vérification préalable fiable pour le traitement de fichiers ultérieur.