当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP fnmatch( )用法及代码示例


PHP中的fnmatch()函数用于将文件名或字符串与指定模式进行匹配。模式和要检查的文件名作为参数发送到fnmatch()函数,如果找到匹配项,则返回True,失败则返回False。
fnmatch()函数现已在PHP 5.3.0版的Windows平台上可用。

用法:

fnmatch(pattern, string, flags)

使用的参数:
PHP中的fnmatch()函数接受三个参数。


  1. pattern :它是必填参数,用于指定要搜索的模式。
  2. string :它是必填参数,用于指定要检查的字符串或文件。
  3. flags :它是可选的参数表,用于指定标志或标志的组合。
    这些标志可以是以下标志的组合:
    • FNM_PATHNAME:用于指定字符串中的斜线仅匹配给定模式中的斜线。
    • FNM_NOESCAPE:用于禁用反斜杠转义。
    • FNM_CASEFOLD:用于无 shell 匹配。
    • FNM_PERIOD:用于指定字符串中的前导期间必须与给定模式中的期间完全匹配。

返回值:
如果找到匹配项,则返回True;如果失败,则返回False。

错误和异常:

  1. 如果多次使用fnmatch()函数,则必须清除缓冲区。
  2. fnmatch()函数返回布尔值False,但是很多时候它返回一个非布尔值,该值的值为False。

以下示例程序旨在说明fnmatch()函数。

程序1假设有一个名为“gfg.txt”的文件

<?php 
$check = "gfg.txt"; 
  
// fnmatch function used to check 
 for file starting with g 
if (fnmatch("*[g]*",$check)) 
{ 
   echo "gfg"; 
} 
else
{ 
   echo "match not found"; 
} 
?>

输出:

gfg

程序2

<?php 
  
$check = "GeeksforGeeks"; 
  
// fnmatch function used to check for  
// a word practice or practise 
if (fnmatch("*Geeks[gfgj]orGeeks", $check)) 
    echo "Yes"; 
else
    echo "No"; 
?>
输出:
Yes

程序3

<?php 
$check = 'GFG A computer science portal'; 
  
// fnmatch function used to check  
// for a word php without considering its case  
if (fnmatch("*[PUTgfg]*", $check, FNM_CASEFOLD)) 
    echo "Yes"; 
else
    echo "No"; 
  
  
?>
输出:
Yes

程序4

<?php 
  
$check = "There is a back slash \ in this sentence"; 
  
// fnmatch function used to check for a \  
if (fnmatch("*[\]*", $check, FNM_NOESCAPE)) 
    echo "back slash  (\)  in the sentence "; 
 else
    echo "match not found"; 
?>
输出:
back slash  (\)  in the sentence

参考:
http://php.net/manual/en/function.fnmatch.php



相关用法


注:本文由纯净天空筛选整理自Shubrodeep Banerjee大神的英文原创作品 PHP | fnmatch() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。