PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

fnmatch - ファイル名がパターンにマッチするか調べる | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

fnmatch

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

fnmatchファイル名がパターンにマッチするか調べる

説明

bool fnmatch ( string $pattern , string $string [, int $flags = 0 ] )

fnmatch()string で指定された文字列が pattern で指定されたシェルワイルドカードにマッチするかどうかチェックします。

パラメータ

pattern

シェルのワイルドカードパターン。

string

調べたい文字列。この機能は特にファイル名のマッチに便利ですが、 通常の文字列に関しても使用できます。

一般的なユーザーにとって、シェルパターンやあるいは少なくとも '?''*'によるワイルドカードのほうが 慣れていると思われます。そのため、 preg_match() の代わりに fnmatch() をフロントエンドの検索表現として使うことは、 プログラマではないユーザーにとってより便利でしょう。

flags

flags の値は、以下のフラグを 論理 OR (|) 演算子 で連結した任意の組み合わせです。
fnmatch() で使えるフラグ
フラグ 説明
FNM_NOESCAPE バックスラッシュのエスケープを無効にする。
FNM_PATHNAME 文字列内のスラッシュは、指定したパターン内のスラッシュにのみマッチする。
FNM_PERIOD 文字列の先頭のピリオドは、指定したパターン内のピリオドにマッチしなければならない。
FNM_CASEFOLD 大文字小文字を区別しないマッチ。GNU 拡張の一部。

返り値

マッチした場合に TRUE、それ以外の場合に FALSE を返します。

変更履歴

バージョン 説明
5.3.0 この関数は Windows プラットフォームでも動作するようになりました。

例1 シェルのワイルドカードパターンによる色の名前のチェック

<?php
if (fnmatch("*gr[ae]y"$color)) {
  echo 
"some form of gray ...";
}
?>

注意

警告

今のところ、この機能は POSIX に準拠していないシステムで利用できません (ただし、Windows では利用できます)。

参考

  • glob() - パターンにマッチするパス名を探す
  • preg_match() - 正規表現によるマッチングを行う
  • sscanf() - フォーマット文字列に基づき入力を処理する
  • printf() - フォーマット済みの文字列を出力する
  • sprintf() - フォーマットされた文字列を返す


忘却曲線を使ってこの関数を確実に記憶に残す

フォーラムで「fnmatch - ファイル名がパターンにマッチするか調べる」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | fnmatch - ファイル名がパターンにマッチするか調べる」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: