如何在PHP中将S3存储桶中的一个文件夹内的所有文件(不使用复制)和文件夹移动到另一个文件夹中,不能使用复制功能。

15 浏览
0 Comments

如何在PHP中将S3存储桶中的一个文件夹内的所有文件(不使用复制)和文件夹移动到另一个文件夹中,不能使用复制功能。

我需要在php中将S3存储桶中一个文件夹的所有文件和文件夹移动到另一个文件夹中。我知道完成这件事的方法:

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

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

我正在使用Amazon S3 PHP类版本0.4.0

admin 更改状态以发布 2023年5月24日
0
0 Comments

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

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

虽然S3不使用文件夹,但它理解前缀。完整路径是文件名(Key)的一部分。例如:

  • 如果您想将folder1/foo.txt移动到folder2/foo.txt ,那么:
  • 复制folder1/foo.txtfolder2/foo.txt
  • 删除folder1/foo.txt

要使用PHP的AWS,您应该使用官方的AWS SDK for PHP

0