Funciones de manejo de archivos Zip (s贸lo lectura)

CLXXIV. 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: 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/.

Nota: 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.

Ejemplo 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);

}

?>
Tabla de contenidos
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