コネクト株式会社 技術情報コンテンツ | ||
glob関数とはPHPには、パターンにマッチするファイル名一覧を取得するために、glob関数が存在します。 例えば… $files = glob('/foo/bar/*.txt'); …と書くだけで、"/foo/bar/"ディレクトリの中にある、拡張子が".txt"のファイル一覧を取得できます。 サーバ上の任意のディレクトリに存在するファイル一覧を使ったアプリケーションを作るのに重宝する関数です。 glob関数の問題点こんなに便利なglob関数にも、実は大きな問題点があります。 パターンにマッチするファイル名が存在しないケースでは、
Linuxではarray()が、Linux以外のOSではFALSEが返ります。 ファイル関数の大半は、戻り値としてFALSEが返ってきた場合は、何らかの理由でfile I/O errorが発生した事を示します。 このままでは、ファイルにアクセスができなかったのか、マッチするファイルが0件だったのかが判断できない事になります。 回避策この問題を回避するには、glob関数の第2引数にGLOB_NOCHECK定数を指定します。 これを判別するには、下記のスクリプトを参考にすると良いでしょう。
<? |