zip_entry_compressedsize()
La fonction zip_entry_compressedsize() est une fonction héritée de l'extension zip de PHP. Elle a été dépréciée dans PHP 7.4 et supprimée dans PHP 8.0. La taille compressée correspond à la taille du fichier après qu'il ait été compressé à l'aide de l'algorithme de compression ZIP.
Syntaxe
La syntaxe de la fonction zip_entry_compressedsize() est la suivante :
syntaxe de la fonction zip_entry_compressedsize() en PHP
int zip_entry_compressedsize(resource $zip_entry)Où $zip_entry est le handle d'entrée ZIP pour le fichier dans l'archive ZIP. Notez que cette fonction appartient à l'extension héritée zip et n'est plus disponible dans PHP 8.0+.
Exemples d'utilisation
Examinons un exemple pratique d'utilisation de zip_entry_compressedsize() en PHP.
Exemple : Obtenir la taille compressée d'un fichier dans une archive ZIP
Supposons que vous ayez ouvert une archive ZIP à l'aide des anciennes fonctions ZIP de PHP et que vous souhaitiez obtenir la taille compressée d'un fichier dans l'archive. Vous pouvez utiliser la fonction zip_entry_compressedsize() pour cela, comme suit :
Obtention de la taille compressée d'un fichier dans une archive ZIP en PHP
$zip = zip_open("example.zip");
if ($zip === false) {
die("Failed to open zip archive.");
}
$zip_entry = zip_read($zip);
if ($zip_entry === false) {
die("Failed to read zip entry.");
}
// get the compressed size of the file
$compressed_size = zip_entry_compressedsize($zip_entry);
echo "The compressed size of the file is: " . $compressed_size . " bytes.";Ce code ouvre un fichier d'archive ZIP example.zip à l'aide de zip_open(). Nous lisons ensuite un fichier dans l'archive avec zip_read() et obtenons sa taille compressée via zip_entry_compressedsize(). Enfin, la taille compressée est affichée à l'utilisateur.
Alternative moderne : Utilisation de ZipArchive
Les anciennes fonctions zip_* ayant été supprimées dans PHP 8.0, il est recommandé d'utiliser à la place la classe intégrée ZipArchive. Voici comment obtenir la taille compressée d'un fichier avec ZipArchive :
$zip = new ZipArchive;
if ($zip->open('example.zip') === true) {
$index = $zip->locateName('example.txt');
if ($index !== false) {
$stat = $zip->statIndex($index);
$compressed_size = $stat['comp_size'];
echo "The compressed size of the file is: " . $compressed_size . " bytes.";
}
$zip->close();
}Conclusion
Dans cet article, nous avons abordé la fonction héritée zip_entry_compressedsize() et son utilisation pour obtenir la taille compressée d'un fichier dans une archive ZIP. Nous avons expliqué sa syntaxe, fourni un exemple hérité avec une gestion d'erreurs de base, et présenté une alternative moderne utilisant la classe ZipArchive. Pour les versions actuelles de PHP (8.0+), privilégiez toujours ZipArchive afin d'éviter les erreurs fatales et de garantir la compatibilité.
Pratique
Quelle est la fonctionnalité de la fonction zip_entry_compressedsize() en PHP ?