/**打包下载
* @param $id 任务id
* @param $data 数据
* @param $files 图片
*/
private function zip($id, $data, $files)
{
//数组转字符串
$content = json_encode($data);
//生成txt文件
$prefix = '.txt';
$name = time() . '_' . $id;
file_put_contents($name . $prefix, $content);
//压缩文件
$zipName = 'Upload/' . $name . '.zip';
$zip = new \ZipArchive();
$zip->open($zipName, \ZipArchive::CREATE);
$zip->addFile($name . $prefix);
$files = array_unique($files);
if ($files) {
foreach ($files as $val) {
$zip->addFile('.' . $val, basename($val));
}
}
$zip->close();
//删除txt文件
unlink($name . $prefix);
//下载压缩包
set_time_limit(0);
header('Content-Type: application/octet-stream');
//下载的文件名
header('Content-Disposition: attachment; filename=' . basename($zipName));
header('Content-Transfer-Encoding: binary');
ob_end_clean();
echo readfile($zipName);
//删除压缩文件
unlink($zipName);
}
网友评论