Descomprimir un archivo .zip con PHP

En el post del día de hoy vamos a ver como descomprimir y listar el contenido de un archivo .zip en PHP, para lo cual vamos a utilizar la extensión ZIP de PHP.


//Creamos un objeto de la clase ZipArchive()
$enzipado = new ZipArchive();

//Abrimos el archivo a descomprimir
$enzipado->open('ejemplo.zip');

//Extraemos el contenido del archivo dentro de la carpeta especificada
$extraido = $enzipado->extractTo("carpeta/");

/* Si el archivo se extrajo correctamente listamos los nombres de los
 * archivos que contenia de lo contrario mostramos un mensaje de error
*/
if($extraido == TRUE){
 for ($x = 0; $x < $enzipado->numFiles; $x++) {
 $archivo = $enzipado->statIndex($x);
 echo 'Extraido: '.$archivo['name'].'</br>';
 }
 echo $enzipado->numFiles ." archivos descomprimidos en total";
}
else {
 'Ocurrió un error y el archivo no se pudó descomprimir';
}

6 comentarios en “Descomprimir un archivo .zip con PHP”

  1. baldo dice:

    excelente…!!! me sirvió…

  2. Omar dice:

    Excelente articulo, gracias….

  3. juan dice:

    Gracias por todo, es genial

  4. fer dice:

    la clase ZipArchive donde la consigo?

    1. sun2012 dice:

      la clase es nativa de php apartir de la versión 5.2 http://php.net/manual/es/class.ziparchive.php

  5. alguien a probado con .epub?

Deja un comentario