Ich mache einen externen API-Aufruf, der mehrere Objekte mit Download-URL zurückgibt. Das sind alles PDF-s, von denen ich gerne einen einzelnen ZIP-Download-Link bereitstellen möchte.Laravel mehrere PDF zu ZIP
Die Art und Weise, wie es jetzt funktioniert, ist, dass ich jedes einzelne PDF in einen bestimmten Benutzerordner herunterlade und dann einen ZIP daraus mache und ihn dem Benutzer zurückschicke.
Ich sehe das als eine etwas langsame und ineffiziente Dinge zu tun, da der Benutzer einen anderen Download für die ZIP auslösen muss, und auf diese Weise bin ich Benutzer im Grunde für 2 Downloads der gleichen Datei Batch warten.
Gibt es einen klügeren Weg, damit umzugehen?
$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);
}
Ich verwende dieses Paket https: // Github .com/Chumper/Zipper und es funktioniert super. Ich habe mich nur über den Ansatz gewundert. Die Antwort wurde mit Code aktualisiert. Danke für die Einsicht – Norgul