php

Extraer zip con PHP

En este post vamos a ver cómo descomprimir archivos zip en PHP. Veremos 3 ejemplos:

  • Cómo descomprimir un archivo
  • Cómo extraer solamente una lista de archivos dentro del zip
  • Cómo extraer un archivo zip subido

Recuerda que si quieres ver cómo crear archivos zip con PHP puedes mirar este post.

Descomprimir archivo zip

En la forma más simple, se crea una instancia de la clase ZipArchive, se invoca al método open con la ubicación del archivo zip y si no hay errores al abrirlo, se invoca al método extractTo que toma como argumento la ubicación de los archivos descomprimidos.

See the gist on github.

En caso de que todo vaya bien, el contenido del zip será extraído en la ubicación que indique $directorioSalida.

Extraer solo determinados archivos

Es posible que se necesite extraer solo algunos archivos, no todo el contenido del zip.

Para ello, el método extractTo acepta un segundo argumento: un array que indica la lista de archivos necesarios.

See the gist on github.

Nota: la lista está definida con la notación corta, pero podría ser igualmente con array.

En el código ejemplifico cómo extraer solo algunos archivos incluso si están dentro de una carpeta del zip.

Subir archivo y extraer su contenido

Hay que tener cuidado con esto, pero si tu app lo requiere, esto es totalmente posible.

Primero debes hacer un formulario para subir el archivo.

He tomado el código de este post para el formulario y el procesamiento.

Por lo tanto, el código HTML queda así:

See the gist on github.

El archivo será procesado en 3-subir.php. Simplemente hay que mover el archivo subido y extraerlo en una carpeta.

En este caso, la carpeta tendrá un nombre aleatorio sacado con uniqid, solo es en este caso, tú puedes llamarlo como quieras o ponerlo en una carpeta fija.

See the gist on github.

Conclusión

Así es como se pueden extraer o descomprimir archivos zip en PHP. Después de extraerlos puedes verificar el contenido entrando al directorio, comprobando si existen determinados archivos, etcétera.

Si quieres ver el código completo y listo para probar, mira el repositorio en GitHub.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

4 días hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

4 días hace

Imprimir PDF generado con HTML

Hoy vamos a ver programar la impresión de un PDF generado a partir de HTML…

5 días hace

JavaScript: llenar select con arreglo

En este tutorial básico de JavaScript con HTML vamos a ver cómo llenar una lista…

2 semanas hace

Imprimir PDF a partir de URL

En este artículo se presenta una guía para imprimir un PDF a partir de una…

2 semanas hace

Imprimir PDF a partir de base64

En este post voy a enseñarte cómo imprimir un PDF a partir de su representación…

2 semanas hace

Esta web usa cookies.