# fnmatch

(PHP 4 >= 4.3.0, PHP 5)

fnmatch — Match filename against a pattern

### Description

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

fnmatch() checks if the passed `string` would match the given shell wildcard `pattern` .

### Parameters

`pattern`

  The shell wildcard pattern.

`string`

  The tested string. This function is especially useful for filenames, but may also be used on regular strings.

  The average user may be used to shell patterns or at least in their simplest form to '?' and '*' wildcards so using fnmatch() instead of ereg() or preg_match() for frontend search expression input may be way more convenient for non-programming users.

`flags`

  See the Unix manpage on fnmatch(3) for flag names (as long as they are not documented here).

### Return Values

Returns `TRUE` if there is a match, `FALSE` otherwise.

### Examples

Example#1 Checking a color name against a shell wildcard pattern

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

### Notes

Warning

For now this function is not available on Windows or other non-POSIX compliant systems.

### See Also

- glob()
- ereg()
- preg_match()
- sscanf()
- printf()
- sprintf()