W3docs

zip_entry_name()

La función zip_entry_name() en PHP devuelve el nombre de un archivo en un archivo zip, es decir, la ruta relativa a la raíz del archivo zip.

La función zip_entry_name() es una función PHP heredada que se utiliza para obtener el nombre de un archivo en un archivo zip. El nombre devuelto es la ruta del archivo relativa a la raíz del archivo zip.

Nota de compatibilidad: Las funciones procedimentales heredadas zip_* fueron declaradas obsoletas en PHP 7.4 y eliminadas en PHP 8.0. Este tutorial cubre la sintaxis heredada como referencia histórica. Para aplicaciones modernas de PHP, use la clase ZipArchive, que es la única opción viable en PHP 8.0+.

Sintaxis

La sintaxis de la función zip_entry_name() es la siguiente:

Sintaxis de la función zip_entry_name() en PHP

string zip_entry_name(resource $zip_entry)

Donde $zip_entry es un manejador de recurso devuelto por zip_read() para una entrada del archivo zip.

Ejemplos de uso

Veamos un ejemplo práctico de cómo recuperar el nombre de un archivo de un archivo zip.

Ejemplo: Uso heredado (PHP 7.4 y anteriores)

El siguiente ejemplo muestra cómo abrir un archivo zip, iterar por sus entradas y recuperar el nombre de cada entrada utilizando las funciones heredadas zip_*:

Recuperar nombres de archivos de un archivo Zip en PHP heredado

$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);
}

Este código abre example.zip, lee cada entrada de forma secuencial, imprime su nombre mediante zip_entry_name() y cierra correctamente tanto la entrada como el archivo.

Ejemplo: Obtener el nombre de un archivo en un archivo Zip (PHP moderno)

Dado que las funciones heredadas zip_* fueron eliminadas en PHP 8.0+, el enfoque recomendado es usar la clase ZipArchive. Este ejemplo muestra cómo abrir un archivo, leer la primera entrada y obtener su nombre con manejo adecuado de errores y limpieza de recursos:

Obtener el nombre de un archivo en un archivo 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.";
}

Este código crea una instancia de ZipArchive y abre example.zip. Recupera el nombre de la primera entrada mediante getNameIndex(0), lo muestra en pantalla y cierra el archivo correctamente. Si el archivo no puede abrirse, se muestra un mensaje de error.

Conclusión

En este artículo hemos analizado la función zip_entry_name() y su rol en la recuperación de nombres de archivos desde archivos zip. Hemos explicado su sintaxis y proporcionado ejemplos tanto heredados como modernos. Al usar ZipArchive en sus aplicaciones, podrá gestionar archivos zip de forma fiable y acceder a los metadatos de los archivos.

Funciones relacionadas

Las funciones heredadas zip_* se suelen usar juntas al iterar sobre un archivo zip. Los siguientes capítulos cubren el resto del flujo de trabajo:

Para el manejo moderno y compatible de archivos zip, consulte la descripción general de la extensión Zip de PHP.

Práctica

Práctica
¿Qué hace la función zip_entry_name() en PHP?
¿Qué hace la función zip_entry_name() en PHP?
Was this page helpful?