示例一:打包下载指定目录下的所有图片文件
$files = glob($dir . '*.jpg');
$files = array_merge($files, glob($dir . '*.png'));
$files = array_merge($files, glob($dir . '*.gif'));
$filename = 'images.zip';
if ($zip->open($filename, ZipArchive::CREATE) !== TRUE) {
foreach ($files as $file) {
$zip->addFile($file, basename($file));
header('Content-Type: application/zip');
header('Content-disposition: attachment; filename='.$filename);
header('Content-Length: ' . filesize($filename));
示例二:打包下载当前日期前一个月的日报文档
$date = strtotime('-1 month');
$filename = date('Y-m-d', $date) . '.doc';
exec('tar -cvzf '.$filename.'.tar.gz '.$dir.$filename);
header('Content-Type: application/x-gzip');
header('Content-Transfer-Encoding: binary');
header('Content-disposition: attachment; filename='.$filename.'.tar.gz');
header('Content-Length: ' . filesize($filename.'.tar.gz'));
readfile($filename.'.tar.gz');