前の記事 ≪:PHPでよく使うライブラリを毎回requireしないでよくなる方法
次の記事 ≫:PHPのスクリプトやライブラリがダウンロードできる海外サイト12

PHPでバッチ処理する際に便利なglob使いこなしテクニック

2011年04月04日-はてなブックマーク

スポンサード リンク
[PR] 英単語を忘却曲線アプリを使って超効率よく記憶する方法
PHP Magic Function : glob() | PHP Code Base

PHPでバッチ処理する際に便利なglob使いこなしテクニック。
globl("*.gif"); 等とすることで、同じディレクトリにある gif 拡張子のファイルを配列で受け取るなんていう便利な関数がありますが、その glob をもっと使いこなすテクニックが紹介されていましたのでご紹介。



階層的なファイルを探索
glob('pear/*/DB/*') のようにして、階層的にファイルを探索することが出来る

第二引数を活用
第二引数は個人的に使ったことなかったのですが、これはかなり便利そう
glob("*.gif", 第二引数);

GLOB_MARK: 返ってきたディレクトリの最後に / を付ける
GLOB_NOSORT: ソートを行わない
GLOB_NOCHECK: 検索パターンにマッチするファイルが見つからない場合は検索パターン自身を返す
GLOB_NOESCAPE: メタ文字のquoteを行わない
GLOB_BRACE - {a,b,c} を展開し、a, b, c のいずれかにマッチさせる
GLOB_ONLYDIR - ディレクトリのみを返す
GLOB_ERR - ディレクトリの読み込みエラー時に停止。デフォルトは無視

glob('img/{*.jpg,*.gif}', GLOB_BRACE) でjpgもgifも一括GET

glob('html/*', GLOB_ONLYDIR) でディレクトリのみをGET

という感じで複数のファイルに対して一括で何らかの処理を行う場合には絶対に使うであろうこの関数。
こうしたテクニックを覚えておくことでよりやりたい事が容易に実現できるようになりますね。

関連エントリ
関連の記事検索:チュートリアル, バッチ処理, プログラミング
スポンサード リンク

By.KJ : 2011年04月04日 10:07 livedoor Readerで購読 Twitterに投稿

間違いの指摘をしていただける方はメール、あるいはTwitter/FBでお願いします(クリック)