开发中,提到了批量下载文档的方法,但不是需要点击多次,逐个选择下载位置的批量下载,
而是类似于qq 邮箱的下载一个压缩文件,里面是是全部的需要下载的文件
话不多说,上代码;
这里,需要使用php的压缩扩展类 ZipArchive ,大致开了下类,需要要求php版本大于5.2
/*批量下载文档*/
public function betchdownload(){
//需要通过浏览器下载 是get请求 传入文档id集合
$ids = trim(I('ids'),',');
$ids = explode(',',$ids);
$filesArr = M('file')->where(['id'=>['in',$ids]])->field('filename,filepath')->select();
foreach ($filesArr as $key=>$val){
$filesArr[$key]['downpath'] = iconv("utf-8","gb2312", $val['filename']);//解决文件名乱码问题
}
$zipname = './files.zip';
//要使用该类,需要先启用 extension=php_zip.dll
$zip = new \ZipArchive ();