【PHP8.x】GLOB_NOCHECK定数の使い方
GLOB_NOCHECK定数の使い方について、初心者にもわかりやすく解説します。
基本的な使い方
GLOB_NOCHECK定数は、PHPが提供するファイルシステムを操作する拡張機能の一つで、指定されたパターンに一致するファイルやディレクトリのパス名を検索するglob()関数と組み合わせて使用される特別な定数です。glob()関数は、シェルスタイルのワイルドカードパターン(例えば*.txtやdir/*など)を用いてファイルシステムを検索し、一致する全てのパス名を配列として返します。
通常、glob()関数は、指定されたパターンに合致するファイルやディレクトリが一つも見つからなかった場合、結果として空の配列を返します。しかし、GLOB_NOCHECK定数をglob()関数の第二引数であるフラグとして指定することで、この標準的な振る舞いを変更することができます。
具体的には、GLOB_NOCHECK定数が指定されている状態で、かつ検索パターンに一致するファイルやディレクトリが一つも見つからなかった場合、glob()関数は空の配列を返す代わりに、検索に用いたパターン文字列そのものを要素として持つ配列を返します。例えば、存在しないファイルパターン'unknown_file_*.log'をglob()関数にGLOB_NOCHECKフラグと共に渡した場合、結果として['unknown_file_*.log']という配列が返されることになります。
この定数は、ファイルが存在しなかったとしても、検索に利用したパターン文字列を後続の処理で何らかの形で利用したい場合に特に役立ちます。これにより、ファイルが見つからなかった場合の処理をより柔軟に設計することが可能になります。
構文(syntax)
1<?php 2$matchedFiles = glob('non_existent_file_*.txt', GLOB_NOCHECK); 3?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
戻り値なし
戻り値はありません