2

Amazon S3 バケット内のすべてのアイテムを一覧表示しようとしています。その中にいくつかのネストされたディレクトリがあります。

  • dir1/
  • dir1/subdir1/
  • dir1/subdir2/
  • dir1/subdir3/
  • dir2/
  • dir2/subdir1/
  • dir2/subdir2/
  • ...

各サブディレクトリには、いくつかのファイルが含まれています。このファイル構造でネストされた配列を取得する必要があります。

Amazon AWS SDK for PHP 2.4.2 を使用しています

これは私のコードです:

$dir = 's3://bucketname';

$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir));

foreach ($iterator as $file) {
    echo $file->getType() . ': ' . $file . "\n";
}

ただし、結果には、ディレクトリ/サブディレクトリ (プレフィックス付きのファイル) にあるファイルやディレクトリ自体ではなく、バケットにあるファイルのみが一覧表示されます。

繰り返して($dir.'/folder')も結果はまったくありません。

イテレータのコンストラクタに 2 番目の引数として渡すRecursiveIteratorIterator::SELF_FIRSTと、第 1 レベルのディレクトリのみが取得され、サブディレクトリは取得されません。

AWS ストリームラッパーと PHP RecursiveIterator を使用して、バケット内のすべてのディレクトリにあるすべてのファイルを一覧表示するにはどうすればよいですか?

誰かが私を助けてくれることを願っています。

ありがとうございました!

4

1 に答える 1