Funciones de manejo de archivos Zip (sólo lectura)
Introducción
Este módulo permite leer de forma transparente archivos comprimidos en formato Zip y acceder a su contenido.
Requisitos
Este módulo utiliza las funciones de la biblioteca » ZZIPlib, creada por Guido Draheim. Se requiere una versión de ZZIPlib >= 0.10.6.
Debe tenerse en cuenta que la anterior biblioteca solamente proporciona un conjunto limitado de funciones para el tratamiento de archivos en formato Zip. Para poder crear los archivos en formato Zip se requiere del uso de alguna herramienta externa a PHP.
Instalación
Esta extension » PECL no esta ligada a PHP. Mas informacion sobre nuevos lanzamientos, descargas ficheros de fuentes, informacion sobre los responsables asi como un 'CHANGELOG', se puede encontrar aqui: » https://pecl.php.net/package/zip.
En PHP 4 la fuente de las extensiones PECL pueden encontrarse en el directorio ext/ que se existe en las fuentes de PHP o en el enlace PECL de arriba. Para poder usar las funciones de manejo de archivos en formato Zip, se debe compilar PHP añadiendo el parámetro --with-zip[=DIR] a las opciones de configuración de PHP.
Los usuarios de Windows deben activar la opció php_zip.dll en el fichero php.ini para poder utilizar estas funciones. En PHP 4, esta DLL se encuentra en el directorio extensions/ que existe en los binarios de PHP para Windows. Podeis descargar esta DLL de las extensiones PECL desde la pagina » PHP Downloads o desde » https://snaps.php.net/.
Note: El funcionamiento de las funciones de manejo de archivos en formato Zip es experimental en las versiones de PHP anteriores a la 4.1.0. En esta sección del manual se muestran las funciones que existen en las versiones a partir de la 4.1.0.
Configuración en tiempo de ejecución
Esta extensión no tiene directivas de configuración en php.ini.
Tipos de recursos
Esta extensión no tiene ningún tipo de recurso definido.
Constantes predefinidas
Esta extensión no tiene ninguna constante definida.
Ejemplos
En el siguiente ejemplo se abre un archivo en formato Zip, se lee cada uno de los archivos contenidos en el y se muestran sus contenidos. El archivo test2.zip que se utiliza en el ejemplo es uno de los archivos de prueba que se incluyen en la distribución del código fuente de la liberÃa ZZIPlib.
Example#1 Ejemplo de utilización de las funciones para manejo de archivos en formato Zip
<?php
$zip = zip_open("/tmp/test2.zip");
if ($zip) {
while ($zip_entry = zip_read($zip)) {
echo "Nombre: " . zip_entry_name($zip_entry) . "\n";
echo "Tamanio sin comprimir: " . zip_entry_filesize($zip_entry) . "\n";
echo "Tamanio comprimido: " . zip_entry_compressedsize($zip_entry) . "\n";
echo "Metodo de compresion: " . zip_entry_compressionmethod($zip_entry) . "\n";
if (zip_entry_open($zip, $zip_entry, "r")) {
echo "Contenidos del archivo:\n";
$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
echo "$buf\n";
zip_entry_close($zip_entry);
}
echo "\n";
}
zip_close($zip);
}
?>
Table of Contents
- zip_close — Cierra un archivo en formato Zip
- zip_entry_close — Cierra una entrada de directorio
- zip_entry_compressedsize — Obtiene el tamaño comprimido de una entrada de directorio
- zip_entry_compressionmethod — Obtiene el método de compresión utilizado por una entrada de directorio
- zip_entry_filesize — Obtiene el tamaño real de una entrada de directorio
- zip_entry_name — Obtiene el nombre de una entrada de directorio
- zip_entry_open — Abre una entrada de directorio en modo solo lectura
- zip_entry_read — Lee datos de una entrada de directorio abierta
- zip_open — Abre un archivo en formato Zip
- zip_read — Lee la siguiente entrada de un archivo en formato Zip
- ZipArchive::addEmptyDir — Add a new directory
- ZipArchive::addFile — Adds a file to a ZIP archive from the given path
- ZipArchive::addFromString — Add a file to a ZIP archive using its contents
- ZipArchive::close — Close the active archive (opened or newly created)
- ZipArchive::deleteIndex — delete an entry in the archive using its index
- ZipArchive::deleteName — delete an entry in the archive using its name
- ZipArchive::extractTo — Extract the archive contents
- ZipArchive::getArchiveComment — Returns the Zip archive comment
- ZipArchive::getCommentIndex — Returns the comment of an entry using the entry index
- ZipArchive::getCommentName — Returns the comment of an entry using the entry name
- ZipArchive::getFromIndex — Returns the entry contents using its index.
- ZipArchive::getFromName — Returns the entry contents using its name.
- ZipArchive::getNameIndex — Returns the name of an entry using its index
- ZipArchive::getStream — Get a file handler to the entry defined by its name (read only).
- ZipArchive::locateName — Returns the index of the entry in the archive
- ZipArchive::open — Open a ZIP file archive
- ZipArchive::renameIndex — Renames an entry defined by its index
- ZipArchive::renameName — Renames an entry defined by its name
- ZipArchive::setArchiveComment — Set the comment of a ZIP archive
- ZipArchive::setCommentIndex — Set the comment of an entry defined by its index
- ZipArchive::setCommentName — Set the comment of an entry defined by its name
- ZipArchive::statIndex — Get the details of an entry defined by its index.
- ZipArchive::statName — Get the details of an entry defined by its name.
- ZipArchive::unchangeAll — Undo all changes done in the archive.
- ZipArchive::unchangeArchive — Revert all global changes done in the archive.
- ZipArchive::unchangeIndex — Revert all changes done to an entry at the given index.
- ZipArchive::unchangeName — Revert all changes done to an entry with the given name.