| |

Laboratorio: leer ficheros zip desde PHP

El formato de compresión ZIP es uno de los más usados y siempre puede sernos de ayuda saber cómo manejarlo, por ejemplo para permitir que nuestros usuarios nos envien ficheros en zip y no tenerles que enviar varios ficheros de uno en uno, cosa que suele sacar de quicio.

En PHP, para leer un fichero zip debemos usar la librería php_zip que ha sido desarrollada por Guido Draheim y que se puede bajar en: http://pecl.php.net/package/zip.

El uso es sencillo y tan solo dispone de unas pocas funciones:

  • zip_close: cierra un fichero zip.
  • zip_entry_close: cierra una archivo contenido en el zip.
  • zip_entry_compressedsize: nos devuelve el tamaño comprimido de un archivo contenido en el zip.
  • zip_entry_compressionmethod: nos devuelve el método de compresión de un archivo contenido en el zip.
  • zip_entry_filesize: nos devuelve el tamaño real del archivo contenido en el zip.
  • zip_entry_name: nos devuelve el nombre del archivo contenido en el zip.
  • zip_entry_open: abre para lectura un archivo contenido en el zip.
  • zip_entry_read: lee un archivo contenido en el zip.
  • zip_open: abre un fichero zip.
  • zip_read: lee el siguiente archivo contenido en el zip.

Un simple ejemplo de cómo leer información de un fichero zip sería el siguiente. Disponemos de una página HTML que tiene un formulario para enviar un fichero:

<form action="zip.php" method='POST' enctype='multipart/form-data'<br />
<p>Seleccione un fichero ZIP para enviar
<br />
<input type="file" name="fichero" /<br />
<br />
<input type="submit" value="Enviar" /></p<br />

Y disponemos de un script PHP (en este caso se llama zip.php) que nos devuelve los archivos contenidos en el zip.

...
<ul>
<?php
$zip = zip_open($_FILES["fichero"]["tmp_name"]);
if ($zip) {
while ($entrada = zip_read($zip)) {
echo "<li>" . zip_entry_name($entrada) . "</li>";
}
zip_close($zip);
}
?>
</ul>
...

El número de utilidades que le podemos sacar a la lectura de ficheros zip puede ser importante.

Firefox 2.0 alpha 2 lanzada

firefox.pngMozilla acaba de lanzar la version 2 alpha de Firefox 2.0, la cual incluye las siguientes modificaciones:

  • Los enlaces se abren por defecto en nuevas pestañas y no en nuevas ventanas.
  • El botón de cerrar pestaña aparece en cada una de estas.
  • Restaura la sesión automáticamente cuando el firefox se cierra por un fallo.
  • Sugerencias de búsquedas mediante autocompletado para Yahoo! y Google.
  • Nuevo plugin para eliminar y reordenar motores de búsqueda.
  • Mejorado el soporte para ver y subscribirte a feeds.
  • Nuevos microsumarios para los marcadores.
  • Nuevo add-on que mejora el interfaz para manejar las extensiones y los temas.
  • Ampliaciones que proporcionan más seguridad y facilidad para localizar extensiones.
  • Nuenos servicios de búsqueda que soportan Sherlock y OpenSearch.
  • Soporte para texto en SVG cuando se usa svg:textPath.

Vía / Donwload Squad