将S3文件从一个文件夹复制到另一个文件

时间:2016-03-09 18:20:13

标签: laravel amazon-s3 laravel-5

我想知道是否有可能在Laravel 5中将存储的文件从AWS中的一个文件夹复制到另一个文件夹。

因此有类似的东西:

$s3 = Storage::disk('s3');
$s3->copy('/old/s3/location/123.jpg', '/new/s3/location/123.jpg');

这可能吗?或者我是否需要先下载图像然后重新上传?

2 个答案:

答案 0 :(得分:0)

通过一些解决方法,我得到了它的工作,并喜欢这样:

$s3 = Storage::disk('s3');
$images = Storage::disk('s3')->allFiles('oldfolder/image/');
foreach($images as $image) {
    $new_loc = str_replace('oldfolder/image/', 'newfolder/image/', $image);
    $s3->copy($image, $new_loc);
}

关键在于$ image已经有了完整的路径

答案 1 :(得分:0)

是的,您可以轻松地将文件从一个文件夹移动或复制到另一个文件夹。对于移动文件,您可以使用以下代码:-

$s3 = Storage::disk('s3')->move('folder1/1587195169.mp4', 'folder1/1587195169.mp4');

要复制文件,您可以使用:-

$s=Storage::disk('s3')->copy('folder1/1587195169.mp4', 'folder1/1587195169.mp4');