我想提出一個外部API調用,它返回幾個對象裏面下載網址。這些都是我想提供一個ZIP下載鏈接的PDF-s。Laravel多個PDF到ZIP
現在的工作方式是,我的每一個PDF下載到特定的用戶文件夾,然後製作ZIP了出來,並呈現回用戶。
我認爲這是一個有點慢,效率低下處事的用戶將有可能引發另一種下載的ZIP,這樣一來,我讓用戶基本上等待2個下載同一個文件一批。
是否有處理這種更智能的方式?
$path = '/user_downloads/' . Auth::user()->id . '/';
if (!Storage::disk('uploads')->has($path)) {
Storage::disk('uploads')->makeDirectory($path);
}
$zipper = new \Chumper\Zipper\Zipper;
$zip_filename = 'zipped/' . uniqid() . '_merged.zip';
foreach (json_decode($res)->hits as $hit) {
$filename = public_path() . $path . uniqid() . '_file.pdf';
copy($hit->document_download_link, $filename);
$zipper->make($zip_filename)->add($filename);
}
我使用這個包的https:// github上.com/Chumper/Zipper,它的效果很好。我只是想知道這種方法。用代碼更新了答案。感謝您的洞察力 – Norgul