(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
fnmatch — Teste un nom de fichier au moyen d'un masque de recherche
$pattern, string $filename, int $flags = 0): bool
   fnmatch() vérifie si la chaîne filename
   va passer le masque Shell pattern.
  
patternLe masque Shell.
filenameLa chaîne testée. Cette fonction est particulièrement utile pour les noms de fichier, mais peut également être utilisée sur des chaînes régulières.
       L'utilisateur moyen de Shell peut être familier avec les masques Shell,
       ou tout au moins, leurs expressions les plus simples, comme '?' et
       '*'. De cette façon, utiliser 
       fnmatch() au lieu de
       preg_match() pour des recherches peut être plus
       pratique pour les non-initiés.
      
flags
       La valeur de flags peut être une combinaison
       des drapeaux suivants, joins avec l'
       opérateur binaire OR (|).
       
| Flag | Description | 
|---|---|
| FNM_NOESCAPE | Désactive l'échappement des antislashes. | 
| FNM_PATHNAME | Un slash dans une chaîne correspond uniquement à un slash dans le masque fourni. | 
| FNM_PERIOD | Un point en début de chaîne doit correspondre exactement à un point dans le masque fourni. | 
| FNM_CASEFOLD | Les correspondances ne tiennent pas compte de la casse. Fait parti de l'extension GNU. | 
   Retourne true s'il y a des résultats, false sinon.
  
Exemple #1 Vérifier le nom d'une couleur avec un masque Shell
<?php
if (fnmatch("*gr[ae]y", $color)) {
  echo "des formes de gris ...";
}
?>
Actuellement, cette fonction n'est pas disponible pour les systèmes non-POSIX, à l'exception de Windows.