Saltar al contenido

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

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

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:

php
$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?

¿Te resulta útil?

Vista previa dual-run — compárala con las rutas Symfony en producción.