Aller au contenu

zip_entry_name()

La fonction zip_entry_name() est une fonction PHP héritée utilisée pour obtenir le nom d'un fichier dans une archive zip. Le nom retourné correspond au chemin du fichier par rapport à la racine de l'archive zip.

Note de compatibilité : Les fonctions procédurales héritées zip_* ont été dépréciées dans PHP 7.4 et supprimées dans PHP 8.0. Ce tutoriel couvre la syntaxe héritée à des fins de référence historique. Pour les applications PHP modernes, utilisez la classe ZipArchive, qui est la seule option viable en PHP 8.0+.

Syntaxe

La syntaxe de la fonction zip_entry_name() est la suivante :

Syntaxe de la fonction zip_entry_name() en PHP

php
string zip_entry_name(resource $zip_entry)

$zip_entry est un handle de ressource retourné par zip_read() pour une entrée dans l'archive zip.

Exemples d'utilisation

Examinons un exemple pratique de récupération du nom d'un fichier à partir d'une archive zip.

Exemple : Utilisation héritée (PHP 7.4 et versions antérieures)

L'exemple suivant montre comment ouvrir une archive zip, itérer sur ses entrées et récupérer le nom de chaque entrée à l'aide des fonctions héritées zip_* :

Récupération des noms de fichiers d'une archive zip en PHP hérité

php
$zip = zip_open('example.zip');
if ($zip) {
    while ($zip_entry = zip_read($zip)) {
        echo zip_entry_name($zip_entry) . "\n";
        zip_entry_close($zip_entry);
    }
    zip_close($zip);
}

Ce code ouvre example.zip, lit chaque entrée séquentiellement, affiche son nom à l'aide de zip_entry_name(), et ferme correctement à la fois l'entrée et l'archive.

Exemple : Obtenir le nom d'un fichier dans une archive zip (PHP moderne)

Puisque les fonctions héritées zip_* sont supprimées dans PHP 8.0+, la méthode recommandée consiste à utiliser la classe ZipArchive. Cet exemple montre comment ouvrir une archive, lire la première entrée et obtenir son nom avec une gestion d'erreurs appropriée et un nettoyage des ressources :

Obtention du nom d'un fichier dans une archive zip en PHP

php
$zip = new ZipArchive();
$zipFile = 'example.zip';

if ($zip->open($zipFile) === true) {
    // Get the name of the first entry
    $fileName = $zip->getNameIndex(0);
    echo "The name of the file is: " . $fileName;
    $zip->close();
} else {
    echo "Failed to open the archive.";
}

Ce code crée une instance de ZipArchive et ouvre example.zip. Il récupère le nom de la première entrée à l'aide de getNameIndex(0), l'affiche, et ferme correctement l'archive. Si l'archive ne peut pas être ouverte, un message d'erreur s'affiche.

Conclusion

Dans cet article, nous avons abordé la fonction zip_entry_name() et son rôle dans la récupération des noms de fichiers à partir d'archives zip. Nous avons expliqué sa syntaxe et fourni des exemples hérités et modernes. En utilisant ZipArchive dans vos applications, vous pouvez gérer de manière fiable les archives zip et accéder aux métadonnées des fichiers.

Pratique

Que fait la fonction zip_entry_name() en PHP ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.