我想在我的平台上添加一个方法,允许用户从应用程序下载所有文件,这些文件将被压缩。每个应用程序都包含多个文件,这些文件存储在数据库中的files-table的不同行中。
我尝试了很多选项,但似乎无法将实际文件添加到zip中。
到目前为止,这是我的代码:
$sql = "SELECT * FROM files WHERE applications_id = :applications_id";
$stmt = $db->prepare($sql);
$stmt->bindParam(':applications_id', $applications_id, PDO::PARAM_INT);
$stmt->execute();
$items = $stmt->fetchAll();
$zipfilename = 'temp_' . time() . '.zip';
$zip = new ZipArchive;
$zip->open($zipfilename, ZipArchive::CREATE);
foreach ($items as $item) {
//$zip->addFromString($item['filename'],$item['filename']);
}
$zip->close();
header('Content-Type: application/zip');
header('Content-disposition: attachment; filename='.$zipfilename);
header('Content-Length: ' . filesize($zipfilename));
readfile($zipfilename);
exit();
非常感谢任何帮助!