Algunos servicios de hosting o almacenamiento con PHP permiten subir archivos, pero no permiten o no tienen la opción para extraer un zip, ya sea porque así lo dicen los términos o porque simplemente el administrador de archivos no cuenta con esa opción.
Subir un zip al hosting con PHP es necesario cuando se quiere subir una carpeta o directorio con varios archivos, y qué mejor que hacerlo subiendo un zip y extrayéndolo en el servidor.
Por ello es que en este post te enseñaré a extraer un archivo zip en un servidor con PHP incluso si el gestor de archivos no te brinda esa opción, usando al propio lenguaje de programación y la herramienta The Unzipper.
Descargando herramienta
Lo primero que tienes que hacer es descargar el script de PHP en el siguiente enlace, puedes descargarlo completo o solo descargar unzipper.php
: https://github.com/ndeet/unzipper
Una vez que lo hayas descargado debes colocarlo en tu servidor en el mismo lugar donde se encuentre el zip que vas a extraer. Es decir, tu archivo zip y el script unzipper.php
deben estar en el mismo lugar.
Extraer zip con php
Ahora visita el archivo unzipper.php
desde el navegador web y debe aparecer una página como la de la siguiente imagen. Los archivos zip encontrados deben aparecer en una lista desplegable, solo debes indicar la ruta de extracción y hacer clic en Unzip Archive.
En mi caso quería subir la carpeta vendor
(dependencias de composer) a mi sitio web con cPanel, pero no tenía la opción de extraer el archivo así que utilicé este script de PHP para extraer el zip desde el navegador web.
Con este script de PHP es muy sencillo extraer un zip en un servidor web cuando no tienes acceso a la línea de comandos, a FTP, SSH o algún modo de extraer el archivo comprimido.
Así puedes extraer varios archivos sin ningún límite, y puedes copiar el script de PHP a cualquier lugar donde quieras hacer la extracción de ficheros comprimidos.