ディレクトリ内からファイルを選択するための再帰的なディレクトリイテレータがあります。 SKIP_DOTSは私に 'を無視することができます。そして、「..」要素が、私はまた、 『__MACOSX』ディレクトリと、そのような「.cache.php」などの別の他の隠しファイルを無視できるようにしたいと思いPHP再帰ディレクトリイテレータ - 特定のファイルを無視します。
$iterator = new RecursiveDirectoryIterator($directory);
$iterator->setFlags(RecursiveDirectoryIterator::SKIP_DOTS);
$all_files = new RecursiveIteratorIterator($iterator);
他の回答hereとhereがありますが、よりクリーンな方法があるのかどうか疑問に思っただけですか?
PHP Manual - FilesystemIterator SetFlagsに何かがあることを期待していましたが、そう思われませんでした。
なぜあなたは、組み込みの何かを望んでいたあたりとしてRecursiveFilterIterator
を拡張しましたか?特別な要件があるときにコードのいくつかの行を書くことを誰かが期待するのは無理でしょうか? Windowsシステムでは、特別な 'desktop.ini'と' Thumbs.db'ファイルが表示されることがよくあります。 – Jon
それが役立つことがあります:http://stackoverflow.com/questions/12454114/exclude-folders-from-recursion-in-recursive-directory-iterator-php –
@ジョン私はあなたのポイントを参照してくださいが、なぜ 'RecursiveDirectoryIterator ::一般的な使用例を手助けしない場合は:: SKIP_DOTS ' – Kiksy