zip_entry_compressedsize()
La función zip_entry_compressedsize() es una función heredada de la extensión zip de PHP. Fue marcada como obsoleta en PHP 7.4 y eliminada en PHP 8.0. El tamaño comprimido es el tamaño del archivo después de haber sido comprimido utilizando el algoritmo de compresión zip.
Sintaxis
La sintaxis de la función zip_entry_compressedsize() es la siguiente:
sintaxis de la función zip_entry_compressedsize() en PHP
int zip_entry_compressedsize(resource $zip_entry)Donde $zip_entry es el identificador de la entrada zip para el archivo en el archivo zip. Ten en cuenta que esta función pertenece a la extensión heredada zip y ya no está disponible en PHP 8.0+.
Ejemplos de uso
Veamos un ejemplo práctico del uso de zip_entry_compressedsize() en PHP.
Ejemplo: Obtener el tamaño comprimido de un archivo en un archivo zip
Supongamos que has abierto un archivo zip utilizando las funciones heredadas de PHP y deseas obtener el tamaño comprimido de un archivo en el archivo. Puedes usar la función zip_entry_compressedsize() para hacerlo, de la siguiente manera:
Obtención del tamaño comprimido de un archivo en un archivo 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.";Este código abre un archivo de archivo zip example.zip utilizando zip_open(). Luego leemos un archivo en el archivo zip usando zip_read() y obtenemos su tamaño comprimido usando zip_entry_compressedsize(). Finalmente, el tamaño comprimido se muestra al usuario.
Alternativa moderna: Usar ZipArchive
Dado que las funciones heredadas zip_* fueron eliminadas en PHP 8.0, se recomienda usar la clase integrada ZipArchive en su lugar. Así es como puedes obtener el tamaño comprimido de un archivo usando 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();
}Conclusión
En este artículo, hemos discutido la función heredada zip_entry_compressedsize() y cómo se utilizaba para obtener el tamaño comprimido de un archivo en un archivo zip. Hemos explicado su sintaxis, proporcionado un ejemplo heredado con manejo básico de errores y mostrado una alternativa moderna utilizando la clase ZipArchive. Para las versiones actuales de PHP (8.0+), siempre prefiere ZipArchive para evitar errores fatales y garantizar la compatibilidad.
Práctica
¿Cuál es la funcionalidad de la función zip_entry_compressedsize() en PHP?