Crear archivo zip después de cargar usando PHP

Crear archivo zip después de cargar usando PHP. En este artículo, veremos la manera de crear un archivo formato zip. Sin embargo usaremos un formulario para cargar el archivo y el lenguaje PHP para su procesamiento y/o generación del fichero comprimido.
Crear archivo zip después de cargar usando PHP
Sin embargo, para lograr esta acción usaremos la clase ZipArchive del PHP
Descripción y sintaxis
Esta clase crea un fichero, comprimido en extensión Zip.
ZipArchive { /* Propiedades */ int $status; int $statusSys; int $numFiles; string $filename; string $comment; /* Métodos */ bool addEmptyDir ( string $dirname ) ... ... }
Los ficheros zip son muy importantes para trasladar o copiar la información desde un servidor a otro y/o para descargar contenido de nuestro servidor como copia de seguridad. También, solo mencionarles que hay varios programas para crear un archivo zip, pero en este caso creamos un archivo zip en nuestro propio servidor usando el lenguaje php.
Por lo tanto, también puede descargar el fichero creado y extraer archivos zip usando PHP como lenguaje de programación.
Requisitos para crear un fichero ZIP con PHP
1. Creación de un fichero HTML para cargar archivo
Este fichero de nombre index.html contendrá un formulario en el cual será el encargado de cargar el archivo que deseamos comprimir
<div class="row"> <div class="col-12 col-md-12"> <!-- Contenido --> <form method="post" action="GenerarZip.php" enctype="multipart/form-data"> <div class="form-group"> <label for="usuario">Seleccione archivo para comprimir:</label> <input required type="file" class="form-control" name="file"> </div> <input name="cargar_archivo" class="btn btn-primary" type="submit" value="Subir y Comprimir"> </form> <br> <!-- Fin Contenido --> </div> </div><!-- Fin row -->
Este formulario HTML recoge el fichero ingresado por el usuario y lo envía a un fichero PHP para que sea procesado. Sin embargo, este usara el método POST.
2. Haz un archivo PHP para guardar y crear un archivo zip
Este fichero ejecutar si solamente recibe la información vía método POST con una variable llamada «cargar_archivo». Aquí, se declara la clase PHP para que pueda hacer la compresión del fichero que ha sido recogido por el formulario.
<?php if(isset($_POST['cargar_archivo'])) { $uploadfile=$_FILES["file"]["tmp_name"]; $folder="comprimidos/"; $file_name=$_FILES["file"]["name"]; move_uploaded_file($_FILES["file"]["tmp_name"], "$folder".$_FILES["file"]["name"]); $zip = new ZipArchive(); // Load zip library $zip_name ="MiArchivo.zip"; // Nombre de Fichero ZIP if ($zip->open($zip_name, ZipArchive::CREATE) === TRUE) { // Agregamos ficheros al comprimido $zip->addFile("comprimidos/".$file_name); // Cerramos la compresion $zip->close(); // Declaramos una variable para mostrar mensaje $resultado="ok"; }else{ $resultado="no"; } } ?>
3. Visualizar resultado de la compresión
Este apartado mostrara alertas sobre el estado del proceso. Sí, es correcto mostrara un mensaje con la siguiente leyenda «Archivo fichero ZIO ha sido creado» también ofrecerá al usuario la posibilidad de descargar el archivo comprimido en ZIP.
<?php if ($resultado="ok"){ echo "<div class='alert alert-primary' role='alert'>"; echo "Archivo fichero ZIP ha sido creado <a href='$zip_name'>DESCARGAR AHORA</a>"; echo "</div>"; }else{ echo "<div class='alert alert-danger' role='alert'>"; echo "No se pudo crear el fichero ZIP"; echo "</div>"; } ?>

CONCLUSIÓN
Si podemos observar, nos es tan complicado comprimir archivos y/o descomprimir archivos con PHP. Por lo tanto, es muy sencillo utilizando PHP y HTML. Sin embargo, pueden personalizar y/o implementar este código más adelante en sus proyectos web según tus necesidades. Y no duden en dar comentarios sobre este artículo.
Suscríbanse para poder recibir en sus correos artículos similares a este.
DESCARGA DEL CÓDIGO
Descargar Código Fuente
Hola, Como deberia hacerlo para poder subir varios archivos al zip?
gracias