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 claseZipArchive, 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 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
$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
$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?