ファイルを探すならsfFinder
sfFinderクラスはファイルやディレクトリを探すときに使うクラスですが、バッチ処理で特定ディレクトリのファイルを読んで処理するような場合に非常に便利です。 例えばSOME_DATA_DIRディレクトリにある拡張子がdatのファイルを処理するには以下のような感じで書けます。
$files = sfFinder::type('file')->name('*.dat')->in(SOME_DATA_DIR); foreach($files as $file){ // 各ファイル毎に行う処理を記述する some_task($file); }
$filesにはファイルのパスが配列として返ってきます。
その他にも色々メソッドは充実していて、 ファイルのサイズが10M以上のファイルを探す場合にはsize(’> 10M’)とメソッドを追加したり、maxdepth(5)とすることで5階層までしかファイルを探しに行かないようにする事も可能です。
symfony bookにも載っているので是非ご一読を。

