zip_entry_name()
La fonction zip_entry_name() en PHP permet d'obtenir le nom d'un fichier dans une archive zip. Découvrez sa syntaxe et des exemples pratiques.
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 relatif à la racine de l'archive zip.
Note de compatibilité : Les fonctions procédurales héritées
zip_*ont été dépréciées en PHP 7.4 et supprimées en PHP 8.0. Ce tutoriel couvre la syntaxe héritée à titre de référence historique. Pour les applications PHP modernes, utilisez la classeZipArchive, 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
string zip_entry_name(resource $zip_entry)Où $zip_entry est un descripteur de ressource retourné par zip_read() pour une entrée dans l'archive zip.
Exemples d'utilisation
Voyons un exemple pratique de récupération d'un nom de fichier depuis une archive zip.
Exemple : Utilisation héritée (PHP 7.4 et antérieur)
L'exemple suivant montre comment ouvrir une archive zip, parcourir ses entrées et récupérer le nom de chaque entrée en utilisant les fonctions héritées zip_* :
Récupération des noms de fichiers depuis une archive zip en PHP hérité
$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 de manière séquentielle, affiche son nom à l'aide de zip_entry_name(), et ferme correctement l'entrée et l'archive.
Exemple : Obtenir le nom d'un fichier dans une archive zip (PHP moderne)
Étant donné que les fonctions héritées zip_* ont été supprimées en PHP 8.0+, l'approche 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 et un nettoyage des ressources appropriés :
Obtention du nom d'un fichier dans une archive zip en 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, puis ferme correctement l'archive. Si l'archive ne peut pas être ouverte, un message d'erreur est affiché.
Conclusion
Dans cet article, nous avons discuté de la fonction zip_entry_name() et de son rôle dans la récupération des noms de fichiers depuis des archives zip. Nous avons expliqué sa syntaxe et fourni des exemples à la fois 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.
Fonctions associées
Les fonctions héritées zip_* sont généralement utilisées ensemble lors de l'itération sur une archive zip. Les chapitres suivants couvrent le reste du flux de travail :
- zip_open() — ouvrir une archive zip en lecture.
- zip_read() — lire l'entrée suivante d'une archive ouverte.
- zip_entry_open() — ouvrir une entrée pour pouvoir lire son contenu.
- zip_entry_read() — lire le contenu d'une entrée ouverte.
- zip_entry_filesize() — obtenir la taille non compressée d'une entrée.
- zip_entry_compressedsize() — obtenir la taille compressée d'une entrée.
- zip_entry_compressionmethod() — obtenir la méthode de compression utilisée pour une entrée.
- zip_entry_close() — fermer une entrée ouverte.
- zip_close() — fermer l'archive.
Pour la gestion moderne et prise en charge des archives zip, consultez la présentation de l'extension PHP Zip.