我正在尝试列出我的 Amazon S3 存储桶中的所有项目。我有几个嵌套目录。
- 目录1/
- 目录1/子目录1/
- 目录1/子目录2/
- 目录1/子目录3/
- 目录2/
- 目录2/子目录1/
- 目录2/子目录2/
- ...
每个子目录包含几个文件。我需要用这个文件结构得到一个嵌套数组。
我正在使用适用于 PHP 2.4.2 的 Amazon AWS 开发工具包
这是我的代码:
$dir = 's3://bucketname';
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir));
foreach ($iterator as $file) {
echo $file->getType() . ': ' . $file . "\n";
}
但是,结果仅列出存储桶中的文件,而不列出目录/子目录(带前缀的文件)或目录本身中的文件。
如果我遍历,($dir.'/folder')
则根本没有结果。
IIRecursiveIteratorIterator::SELF_FIRST
作为第二个参数传递给迭代器的构造函数,我只得到第一级目录——没有子目录。
如何使用 AWS 流包装器和 PHP RecursiveIterator 列出存储桶中所有目录中的所有文件?
我希望有一个人可以帮助我。
谢谢!