| |

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

links for 2006-05-14

Spry: el framework AJAX de Adobe

adobe-labs.pngAdobe ha sacado a la luz un framework para crear aplicaciones AJAX, el cual proporciona funcionalidades que permite a los diseñadores crear páginas que provean una mejor experiencia a sus usuarios.

La posibilidad mas destacable que ofrece es la de incorporar datos de un XML en nuestras páginas sin necesidad de refrescar la página, usando un poco de Javascript, CSS y HTML. El objetivo es que no sea necesario un gran conocimiento de diseño web para poder usarlo.

Demos

  • Photo Gallery: una galería de fotografías basado en XML.
  • Product Table: una tabla interactiva que muestra datos basados en XML.
  • RSS Reader: un lector de RSS que muestra como multiplos XML pueden crear una buena interfaz.

Spry framework for Ajax

Vía / Brajeshwar

Fadomatic: añade transparecias a tus scripts

Fadomatic es un script que funciona los navegadores más importantes (IE, Gecko, Safari), que permite realizar transparecias disminuyendo el canal alpha progresivamente. Para mí, lo importante de este script es poder estudiar su funcionamiento, como para IE se usa el filtro alpha:

elemento.style.filter = "alpha(opacity="+opacidad+")";

Y como para los navegadores que sigue los estándares, usan el estilo opacity:

elemento.style.opacity = opacidad;

fadomatic.png

Fadomatic

Vía / Intenta

Skype ofrece intérpretes en tiempo real

SkypeSkype ofrece un servicio de traducción en tiempo real de un total de 150 idiomas (el español por lo visto es el más solicitado) a un precio de 2.99$ el minuto (que se cargará a la cuenta de SkypeOut). Los intérpretes estarán disponibles constantemente (24/7/365) y se dispondrá de él pasados unos 45 segundos de la petición de traducción.
Language Line® Personal Interpreter
Vía / TechCrunch

|

Ajax paso a paso: el ahorcado

Seguimos con nuestro especial sobre AJAX. Esta vez vamos a intentar dar un ejemplo de interactividad con el usuario y nada mejor para ello que un juego: el ahorcado.
ahoracado.png

La verdad es que los juegos de este tipo ya no se estilan, pero es un ejemplo sencillo que podemos usar para otros casos, por ejemplo formularios, encuestas, … Se trata de que el usuario interactúa sin preocuparse y la aplicación reacciona según lo que haga el usuario.

Read More “Ajax paso a paso: el ahorcado”

Nuevos productos Google

google.pngGoogle acaba de lanzar varios productos o versiones de productos.
La primera de ellas es Google Trends, que nos muestra una comparativa de lo que busca la gente. Escribimos separado entre comas lo que queremos comparar y nos devuelve una gráfica que muestra el volumen de búsquedas y el de noticias.
google-trends.png
Google Desktop saca la versión 4, que como novedad incluye la posibilidad de añadir Google Gadgets para personalizar tu escritorio y barra lateral.
google-desktop.png
El que me ha resultado más “difuso” es Google Co-op, el cual quiere que se comparta experiencia. Tú puedes ayudar con tu experiencia y beneficiarte de la de los demás, creando sitios a los cuales subscribirte, los cuales te aparecerán en las búsquedas que realices. Ya he dicho que a mi no me resulta sencillo, pero es que a alguien tan geek como Steve Rubel, tampoco le resulta nada fácil, por ejemplo dice que él se subscribió a Digg y que cuando realizó búsquedas, no apareció Digg por ningún lado.
Otra de las aplicaciones anunciadas es Google Notebook, la cual es un bloc de notas que te sigue desde tus búsquedas hasta las páginas, copiando partes de información. Aún no está disponible, por lo visto hay que esperar hasta la semana que viene.
Y por último, el chat ya está disponible en GMail en español, poco a poco las nuevas funcionalidades de GMail aparecen en otras versiones de idiomas.
Vía / Digg