Saltar al contenido

zip_entry_name()

La función zip_entry_name() es una función heredada de PHP utilizada 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 marcadas como obsoletas en PHP 7.4 y eliminadas en PHP 8.0. Este tutorial cubre la sintaxis heredada con fines históricos. Para aplicaciones PHP modernas, utiliza 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

php
string zip_entry_name(resource $zip_entry)

Donde $zip_entry es un identificador de recurso devuelto por zip_read() para una entrada en el archivo zip.

Ejemplos de uso

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

Ejemplo: Uso heredado (PHP 7.4 y versiones anteriores)

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

Obtención de nombres de archivos de un archivo zip en PHP heredado

php
$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 secuencialmente, imprime su nombre usando zip_entry_name() y cierra correctamente tanto la entrada como el archivo.

Ejemplo: Obtención del nombre de un archivo en un archivo zip (PHP moderno)

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

Obtención del nombre de un archivo en un archivo zip en PHP

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. Obtiene el nombre de la primera entrada usando getNameIndex(0), lo muestra y cierra correctamente el archivo. Si el archivo no se puede abrir, se muestra un mensaje de error.

Conclusión

En este artículo, hemos discutido la función zip_entry_name() y su papel en la obtención de nombres de archivos de archivos zip. Hemos explicado su sintaxis y proporcionado ejemplos tanto heredados como modernos. Al utilizar ZipArchive en tus aplicaciones, puedes gestionar archivos zip de manera confiable y acceder a los metadatos de los archivos.

Práctica

¿Qué hace la función zip_entry_name() en PHP?

¿Te resulta útil?

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