martes, julio 21, 2009

Creando archivos ZIP con PHP

TuFuncion

 
 

Enviado por luishernando a través de Google Reader:

 
 

vía TuFuncion de manu el 9/07/09

Hace poco tiempo necesitaba crear archivos ZIP con PHP al vuelo, tras un rato de búsqueda encontré esta clase zipfile escrita por Eric Mueller y muy bien explicada en Creating ZIP files with PHP.

Descargar clase zipfile

Esta clase tiene dos métodos add_dir() y add_file() que permite agregar una carpeta o un archivo al zip que se esta creando.

Veamos dos prácitocs ejemplos que no necesitan explicación ya que son bastante sencillos y fáciles de entender.

Agregar un archivo comprimido a un archivo ZIP

 require ("zipfile.php"); $zipfile = new zipfile(); $zipfile->add_file(implode("",file("img01.jpg")), "foto.jpg"); header("Content-type: application/octet-stream");header("Content-disposition: attachment; filename=zipfile.zip"); echo $zipfile->file(); 

Agregando varios archivos a un archivo ZIP

 require ("zipfile.php"); $zipfile = new zipfile(); $zipfile->add_dir("img/"); $zipfile->add_file(implode("",file("img01.jpg")), "img/01.jpg"); $zipfile->add_file(implode("",file("img02.jpg")), "img/02.jpg"); $zipfile->add_file(implode("",file("img03.jpg")), "img/03.jpg");  header("Content-type: application/octet-stream"); header("Content-disposition: attachment; filename=fotos.zip"); echo $zipfile->file(); 

<!--break-->
Cómo veis es bastante sencillo mi única recomendación es que en caso de usar esta clase para generar archivos zip "al vuelo" hay que tener cuidado con el consumo de memoría ya que puede llegar a comprometer el correcto funcionamiento de tu aplicación si se producen descargas simultáneas con un número elevado de archivos.


 
 

Cosas que puedes hacer desde aquí:

 
 

No hay comentarios.:

Publicar un comentario

Gracias! ¿Qué sería de la red sin tu opinion? Algo muy aburrido! :D