0

これはとても簡単なことのように思えますが、ドキュメントや他の場所でこれに関する情報を見つけるのに苦労しています.

config.yml で次の設定で KnpGaufretteBundle を使用しています

knp_gaufrette:
    adapters:
        images:
            local:
                directory:  "%kernel.root_dir%/../web/uploads/images"
    filesystems:
        images:
            adapter: images

上記のパスのファイル構造は次のとおりです。

- images
  - test1.gif
  - test2.gif
  - sub_directory1
    - test3.gif
  - sub_directory2

images フォルダには 2 つのディレクトリがありますが、そのうちの 1 つは空です。ファイルマッパーで listKeys() を実行すると、取得します。

array:2 [
  "keys" => array:3 [
    0 => "sub_directory1/test3.gif"
    1 => "test1.gif"
    2 => "test2.gif"
  ]
  "dirs" => array:1 [
    0 => "sub_directory1"
  ]
]

空のディレクトリが表示されます。Gaufrette を使用してこの情報を取得する方法はありますか?

4

1 に答える 1

0

私はこれを詳しく調べましたが、私の質問に対する答えがあると思います。これは、RecursiveDirectoryIterator が Gaufrette のローカル アダプターで実装されている方法で実装されている場合、空のディレクトリを表示しないという事実に関連しています (以下のリンクで説明されているように)。

RecursiveDirectoryIterator() が空のディレクトリを表示しない

これは何らかの理由で行われたと確信していますが、実際には私の要件を満たしていません。現時点では、独自のアダプターを作成することはできないようですが、見た目からすると、アダプター用のコンパイラー パスの実装の途中です。

今のところ、別のファイル抽象化レイヤーを選択することになると思いますが、多少がっかりしていることは認めざるを得ません。

于 2015-06-05T13:46:42.693 に答える