使用 ZipArchive 从 s3 获取文件创建一个 zip

时间:2021-07-08 13:53:06

标签: php laravel amazon-s3

现在我正在以这种方式使用存储“发票”中的 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);
    }
}

0 个答案:

没有答案
相关问题