gpt4 book ai didi

php - aws s3在laravel中复制和复制文件夹

转载 作者:行者123 更新时间:2023-12-04 03:05:32 33 4
gpt4 key购买 nike

我正在尝试复制一个已经在 s3 上的文件夹,并在 laravel 5.4 的 S3 上用不同的名称保存它。到目前为止我发现的是我可以复制图像,而不是文件夹。我试过复制文件夹,例如:

 $disk->copy("admin/form/$old_form","admin/form/$new_form");

但它不是那样工作的。它给我一个错误。我是否需要应用循环并分别获取每个文件夹项目?喜欢:

$images = $disk->allFiles('admin/form/$id');

或者在 laravel 或 s3 api 中是否有任何解决方法?

请帮忙,这让我发疯。

提前致谢。

最佳答案

我正在做同样的事情。根据我目前所读到的内容,使用 Laravel 复制目录本身似乎是不可能的。到目前为止,我看到的建议是查看并复制每张图片,但我对速度一点都不满意(因为我每天要对很多图片执行此操作数次)。

请注意,我只是像这样直接使用文件系统,这样我可以更轻松地访问 PHP Storm 中的方法。 $s3 =\Storage::disk('s3'); 将完成与我的前两行相同的事情。如果我发现任何更有效的方法,我会更新这个答案。

$filesystem = new FilesystemManager(app());
$s3 = $filesystem->disk('s3');
$images = $s3->allFiles('old-folder');

$s3->deleteDirectory('new_folder'); // If the file already exists, it will throw an exception. In my case I'm deleting the entire folder to simplify things.
foreach($images as $image)
{
$new_loc = str_replace('old-folder', 'new-folder', $image);
$s3->copy($image, $new_loc);
}

关于php - aws s3在laravel中复制和复制文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44900585/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com