【PHP8.x】FNM_PERIOD定数の使い方
FNM_PERIOD定数の使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
FNM_PERIOD定数は、PHPのfnmatch()関数で使用されるパターンマッチングの挙動を制御するための定数です。この定数は、特にファイル名の先頭にあるピリオド(.)の扱い方を指定するために用いられます。
fnmatch()関数は、シェルパターン(*や?などのワイルドカードを含むパターン)を使用して、対象の文字列が特定のパターンに一致するかどうかを判定する際に利用されます。FNM_PERIOD定数をfnmatch()関数の第三引数であるフラグとして指定すると、パターンマッチングの規則が変更されます。
具体的には、この定数を指定しない場合、パターン中のワイルドカード(*や?)は文字列中のピリオドにも一致します。しかし、FNM_PERIOD定数を指定した場合、パターンがピリオド(.)で始まり、かつ、対象の文字列もピリオドで始まっている場合にのみ、このパターンマッチングが成功するように振る舞いが変わります。これは、Unix系のファイルシステムにおいて隠しファイル(ファイル名がピリオドで始まるファイル)を扱う際の慣習に合わせて、意図しないマッチングを防ぐために有効です。
例えば、*.txtのようなパターンで.profile.txtのような隠しファイルを検索する場合、FNM_PERIODが指定されていなければ一致してしまうことがあります。しかし、FNM_PERIODを指定することで、ファイル名の先頭のピリオドを特別扱いし、より厳密で意図に沿ったファイル名パターンマッチングを実現できます。
構文(syntax)
1echo FNM_PERIOD;
引数(parameters)
引数なし
引数はありません
戻り値(return)
戻り値なし
戻り値はありません