php多文件打包下载的实例代码
最近整理文档,搜刮出一个php多文件打包下载的实例代码,稍微整理精简一下做下分享。
需要同时下载多个文件时,大部分浏览器都不支持多文件同时下载,可以采用JavaScript脚本动态生成多个链接,但是需要用户多次点击下载对话框,用户体验不好,并且有些浏览器还不兼容。此时多文件打包下载帮你解决这个问题。
$filename="test.zip";
$datalist=array('./pubfile/1.jpg','./pubfile/2.jpg');
if(!file_exists($filename)){
$zip=newZipArchive();
if($zip->open($filename,ZipArchive::CREATE)==TRUE){
foreach($datalistas$val){
if(file_exists($val)){
$zip->addFile($val,basename($val));
}
}
$zip->close();
}
}
if(!file_exists($filename)){
exit("无法找到文件");
}
header("Cache-Control:public");
header("Content-Description:FileTransfer");
header('Content-disposition:attachment;filename='.basename($filename));//文件名
header("Content-Type:application/zip");//zip格式的
header("Content-Transfer-Encoding:binary");//告诉浏览器,这是二进制文件
header('Content-Length:'.filesize($filename));//告诉浏览器,文件大小
@readfile($filename);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。