Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】FNM_PATHNAME定数の使い方

FNM_PATHNAME定数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

FNM_PATHNAME定数は、PHPのファイル名マッチング関数であるfnmatch()関数で使用されるフラグの一つを表す定数です。この定数は、ワイルドカードパターンと文字列を比較する際に、ファイルパスの区切り文字であるスラッシュ(/)を特別な文字として扱うよう指示します。具体的には、ワイルドカード文字であるアスタリスク(*)や疑問符(?)が、スラッシュにマッチしないように制限する役割があります。

例えば、*.phpというパターンが/path/to/file.phpという文字列にマッチしようとした場合、FNM_PATHNAME定数を指定しないと、*/path/to/fileの部分全体にマッチしてしまう可能性があります。しかし、この定数を指定することで、*はスラッシュを含まないファイル名部分のみにマッチするようになり、ファイルパスの階層構造を維持した厳密なマッチングを実現できます。これにより、特定のディレクトリ内のファイルのみを対象とするような、より正確なパターンマッチングが可能となり、ファイルシステム操作における誤マッチングを防ぐのに役立ちます。

構文(syntax)

1<?php
2
3$pattern = '*.txt';
4$filename = 'data/file.txt';
5
6if (fnmatch($pattern, $filename, FNM_PATHNAME)) {
7    echo "Pattern matches filename within path constraints.";
8} else {
9    echo "Pattern does not match filename or path constraints prevent match.";
10}
11
12?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません

関連コンテンツ