Download multiple files as a zip folder using php [duplicate]

you can take a look at ZipArchive, you would be able to create zips with that and let the user download it.

Cletus provide a really good answer there. I humbly copy his sample here

$files = array('readme.txt', 'test.html', 'image.gif');
$zip = new ZipArchive;
$zip->open('file.zip', ZipArchive::CREATE);
foreach ($files as $file) {
  $zip->addFile($file);
}
$zip->close();

and to stream it:

header('Content-Type: application/zip');
header('Content-disposition: attachment; filename=filename.zip');
header('Content-Length: ' . filesize($zipfilename));
readfile($zipname);

Leave a Comment