如何将所有文件(不使用复印件)和文件夹移动从一个文件夹到另一个PHP S3斗,不能使用复制功能

时间:2019-02-02 06:46:05

标签: php amazon-web-services amazon-s3

我必须的所有文件和文件夹从一个文件夹转移到另一个S3铲斗在PHP。我知道一种执行相同操作的方法是:

  1. 从源文件夹获取所有对象列表
  2. 将所有对象复制到目标文件夹
  3. 从源文件夹删除所有对象

然后我知道AWS没有具有某种层次结构的文件夹,它只是基于存储桶,但是现在有任何选项或更新。

我正在使用Amazon S3 PHP Class 0.4.0版

1 个答案:

答案 0 :(得分:2)

Amazon S3没有“ move”命令。唯一的选择是复制然后删除

复制命令告诉S3复制对象,而无需任何下载。因此,它是快速而有效的。

尽管S3不使用文件夹,但它确实了解前缀。完整路径是文件名(密钥)的一部分。因此,例如:

  • 如果要将folder1/foo.txt移至folder2/foo.txt,则:
  • folder1/foo.txt复制到folder2/foo.txt
  • 删除folder1/foo.txt

要将AWS与PHP结合使用,您应使用官方的AWS SDK for PHP