Este módulo permite leer de forma transparente archivos comprimidos en formato Zip y acceder a su contenido.
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.
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: » http://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 » http://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.
Esta extensión no tiene directivas de configuración en php.ini.
Esta extensión no tiene ningún tipo de recurso definido.
Esta extensión no tiene ninguna constante definida.
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);
}
?>