现在我正在以这种方式使用存储“发票”中的 PDF 文件创建 ZIP。我的目标是将所有这些本地文件移动到亚马逊 s3 服务器。在删除文件时我没有问题,但在生成 zip 时是的。我该如何解决?谢谢。
$pdfs = $request->get('check');
$public_dir = storage_path();
if (is_array($pdfs)) {
$zipname = "facturas" . time() . ".zip";
$zip = new \ZipArchive;
if ($zip->open($public_dir . '/app/invoices/' . $zipname, \ZipArchive::CREATE) === TRUE) {
foreach ($pdfs as $pdf) {
$zip->addFile(storage_path('app/invoices/' . $pdf), $pdf);
}
}
$zip->close();
$headers = array(
'Content-Type' => 'application/octet-stream',
);
$filetopath = $public_dir . '/app/invoices/' . $zipname;
if (file_exists($filetopath)) {
return response()->download($filetopath, $zipname, $headers);
}
}