0

ルートレベルのファイルを取得する方法、つまりファイル名にパスが付加されていないすべてのファイルを取得する方法を理解しようとしています。私はこのような容器を持っています

image.png            image/png
ui                   application/directory
ui/css               application/directory
ui/css/test.css      text/css
ui/image2.jpg        image/jpg

私は電話を使用しています

Container->get_objects(0, null, null, 'ui/');

これは2つのCF_Objectsを返します。

ui/css
ui/image2.jpg

これは望ましい出力です

しかし、「ルートレベル」でファイルを要求した場合

Container->get_objects(0, null, null, '/');

空の配列を返します。

Container->get_objects(0, null, null, '');

コンテナ内のすべてのファイルを返します。

理想的には、2つのCF_Objectsimage.pngとuiを返します。

これを行う方法はありますか?

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

4

2 に答える 2

1

2011年11月15日の20ページのCloudFiles開発者ガイドには次のように書かれています。

区切り文字パラメーターを使用して、ディレクトリー・マーカー・オブジェクトを必要とせずに、ネストされたディレクトリー階層を表すこともできます。任意の1文字を区切り文字として使用できます。リストは仮想ディレクトリを返すことができます-それらは実際には実際のオブジェクトを表していないという点で仮想です。ただし、ディレクトリマーカーと同様に、コンテンツタイプはapplication / directoryであり、jsonおよびxmlの結果のサブディレクトリセクションにあります。

コンテナに次のオブジェクト(photos / photo1、photos / photo2、movieobject、videos / movieobj4)がある場合、スラッシュ(/)を使用した区切り文字パラメータクエリで次のようになります。

  • 写真、
  • movieobject、
  • ビデオ。

パラメータ「delimiter」はPHPSDKのget_objectsでサポートされておらず、これを使用することがベースディレクトリファイルを取得する唯一の方法のようです。

現在、githubにマージリクエスト があり[このリクエストは承認されています]、この特定のパラメータをget_objectsメソッドに追加しています。

Rackspace Cloud Files API PHP SDKの他のユーザーも、このパラメーターのサポートを追加しています。

元のphp-cloudfilesリポジトリが更新されるかどうかを確認するか、元のフォークを作成して独自のコードを追加します。独自の変更を追加することに抵抗がある場合は、次のような区切り文字パラメーターを追加したフォークのクローンを作成します。

https://github.com/michealmorgan/php-cloudfiles または https://github.com/onema/php-cloudfiles

于 2012-03-13T18:32:41.503 に答える
1

回答で参照されているマージリクエストは、2012年5月9日に承認されました

のオプションパラメータget_objectsが追加されました$delimiter...

ここに画像の説明を入力してください

ただし、オプションのパラメーターのいずれかを使用しようとすると、コンテナー名が設定されていないことを誤って報告するエラーが他の時点でコードに導入されました。

このエラーを修正するためのリクエストが送信されました。

于 2012-07-12T07:53:27.090 に答える