2012-10-07 13 views
7

私は知っていることはほとんどありません。 フォルダはS3のコンセプトではありません。プレフィックスとして '/'を使用するキー名のオブジェクトはゼロバイトです。簡単にするためにフォルダとファイルと呼んでいると仮定すると、私の質問はフレーズで簡単になります。aws sdk s3のフォルダをリストアップするためのPHP

接頭辞= "root /"でs3-> get_object_list(..)を実行し、すべてのファイル/フォルダを取得することは可能です。私の問題はこれです。

たとえば、次のようなフォルダおよびサブフォルダのリストが与えられます。

root/ 
root/folder1/ 
root/folder1/file1.txt 
root/folder2/ 
root/folder3/file2.txt 

どのようにフォルダをリストすることができますか。私はすべてのファイルをリストすることを避けることを望んでいましたが(返信する必要はなくても)、phpのget_object_listはcommonPrefixes ref:http://docs.amazonwebservices.com/AWSSDKforPHP/latest/#m=AmazonS3/get_object_list をサポートしていません。ルートフォルダ(接頭辞)のファイル

このような状況に役立つ技術的なポストレスポンスまたはリクエストを使用している人はいないかと思います。

私はすでに、接頭辞、区切り文字、およびマーカーのすべてのコンボを考えました。 PCREではそれほど良くはありませんが、私は1つのレベルの深いフォルダしか持っていないことを確信していますが、この場合にどのように構築するのか分かりません。私の要求がうまくいかなかったので、私はすべてのファイルとフォルダの応答を受け取り、うまくいけばPHPでそれを並べ替えることになりました...または私は考えました

私は応答を試みました: dirnameいくつかのフォルダ(空のもの)を削除しても、配列内の重複を削除できますが、フォルダが見つからないという問題があります。 pathinfo() - dirname()と同じように動作します。 glob - 運がない、上記と同じです。

ノートを:私はPythonとのbotoでこれをやって何の問題もない私はすでに私は誰かがこれで扱ってきましたし、共有することを気にします期待しています。この上で半日無駄にしておりますので

。しかし、これはPythonではないので、私はこのプロジェクトでPHPでこれを行う必要があります。

答えて

関連する問題