Amazon S3将目录复制到另一个目录

Lim*_*Wei 16 directory amazon move amazon-s3

如何使用PHP API将包含子文件夹和文件的文件夹复制/复制到S3存储桶中的另一个目录中?

$s3->copy_object 只复制文件夹,但不复制里面的文件和子文件夹.

我是否必须使用$s3->list_objects获取所有文件和目录并$s3->copy_object在每个文件/目录上运行?

wil*_*ynn 15

S3不是文件系统,它是一个对象存储.文件夹实际上并不存在于任何实际意义上; 文件夹只是你可以称之为共享前缀的东西.换句话说,如果你创建path/to/onepath/to/two,它不也会导致pathpath/to存在.如果你看到它们,那是因为某个组件获取了一个对象列表,将它们分开/,然后决定将该列表显示为层次结构.

您想"将文件夹复制到另一个文件夹".将其改为S3术语,您希望"将具有相同前缀的所有对象复制到具有不同前缀的对象中".这样说可以使方法清晰:获取具有一个前缀的对象列表,然后复制每个对象.


Avi*_*aya 0

一种方法是使用列表对象并逐个移动每个对象。另一种方法是使用 s3fuse,它会将您的 s3 存储桶作为本地目录,然后您只需应用“mv”等简单命令即可移动文件。