PHP nos permite de manera nativa comprimir archivos en formato zip, a qui mostrare un ejemplo de como se hace.
En este ejemplo vamos a comprimir dos archivos en un zip.
$filename = «mi_archivo.zip»;
$zip = new ZipArchive();if ($zip->open($filename, ZipArchive::CREATE) !== TRUE) {
exit(«cannot open <$filename>\n»);
}$zip->addFile(«/public/files/archivo.pdf», «archivo.pdf»);
$zip->addFile(«/public/files/archivo.docx», «word/archivo.docx»);
$zip->close();
La siguiente linea debemos de pasar dos parámetros, la primera es la dirección del archivo a comprimir y el segundo parámetro es la ubicación donde se almacenara dentro del zip.
Por ejemplo los archivos de word dentro del zip los organizo en una carpeta especial para ello.
$zip->addFile(«/public/files/archivo.docx», «word/archivo.docx»);
para comprimir toda una carpeta bastara con recorrer el directorio y agregarlos según se recorre la carpeta.
Recuerda tener permisos de escritura en el directorio donde los almacenaras.
para comprimir toda una carpeta bastara con recorrer el directorio y agregarlos según se recorre la carpeta.
. Si me puedes explicar mas a profundo este comentario por favor,