// 批量下载
public function downloadall(){
$post = input("param.");
$name = db("news")->where(array("id"=>$post['List']))->find();
$downame = explode(',',$name['filename']);
// 在调用前:加上前面2句话,更改apache的配置
set_time_limit(0);// 设置页面响应时间为不限制时间
ini_set('max_execution_time', 1200);
ini_set('memory_limit', '2048M');
header("Content-type: text/html; charset=utf-8");
$tmpFile = tempnam('/Upload/temp', ''); //临时文件
$zip = new \ZipArchive(); //php内置的压缩类
$aa=$zip->open($tmpFile, \ZipArchive::CREATE);
//往压缩包内添加目录
$zip->addEmptyDir('images');
foreach ($downame as $k=> $value) {
$filePath=$_SERVER['DOCUMENT_ROOT'].$value;
//判断文件存在否,如果不存在,程序中断执行
// if(!file_exists($filePath)){
// unset($downame[$k]);
// }
$fileData = file_get_contents($filePath);
if ($fileData) {
$add = $zip->addFromString('images/'.$value, $fileData);
}
}
$zip->close();
header('Content-Type: application/zip');
header ( "Content-Transfer-Encoding: Binary" );
header("Content-disposition: attachment; filename=".$name['title'].date('YmdHis').".zip");
header('Content-Length: ' . filesize($tmpFile));
ob_end_clean();
readfile($tmpFile);
unlink($tmpFile);
}