我想从S3下载一个zip文件夹。
$zip =
new \ZipArchive();
$zipfilename = sys_get_temp_dir().'\Admissionform_'.$school_id.'_'.$formfor_id.'.zip';
$zip->open($zipfilename, \ZipArchive::CREATE);
$s3 = Storage::disk('s3');
if ($s3->exists($Mainpath)) {
$file = Files::select('path', 'extension')->find($file_id);
$pathToFile = $file->path;
$content = $s3->get($pathToFile);
$zip->addFromString($zipfilename.$filename, file_get_contents($pathToFile));
}
$zip->close();
header('Content-disposition: attachment; filename='.$filename.'.zip');
header('Content-type: application/zip');
readfile($zipfilename);
字符串
如何向前发展?
1条答案
按热度按时间42fyovps1#
你的代码中有一些问题,它丢失了:
在php中导入所需的类,初始化变量并设置正确的路径zip存档。这里是代码
字符串
确保将'App\Models\Files'替换为Files模型的正确命名空间。此外,请确保您已在Laravel应用程序中正确设置了S3配置,并且您具有访问S3存储桶和要下载的文件的必要权限。
通过这些更改,更正后的代码现在应该允许您从S3下载zip文件形式的文件夹。