📜  php glob - PHP (1)

📅  最后修改于: 2023-12-03 14:45:11.584000             🧑  作者: Mango

PHP glob

glob函数是在PHP中用于匹配路径名的函数,其返回一个由符合条件的路径组成的数组。可以用它来查找满足特定条件的文件。

语法

glob(pattern, flags)

参数
  • pattern:需要匹配的模式字符串,支持通配符*?
  • flags:可选参数,用于修改glob的行为。支持以下的标志:
    • GLOB_MARK:在每个路径后添加斜杠/
    • GLOB_NOSORT:返回的数组按照它们在目录中出现的顺序排序。
    • GLOB_NOCHECK:返回原模式,如果没有符合条件的路径就返回模式本身。
    • GLOB_NOESCAPE:禁用反斜杠\,让它无法用于转义特殊字符。
    • GLOB_BRACE:展开花括号表达式。比如,{foo,bar}会扩展为foobar
    • GLOB_ONLYDIR:仅返回目录路径,不包括文件路径。
返回值

glob返回一个包含符合条件的路径的数组,如果没有找到任何路径,则返回false。如果设置了标志GLOB_MARK,则每个路径都会以斜杠/结尾。

例子
查找所有以.txt结尾的文件
$files = glob('*.txt');
查找当前目录及其子目录下的所有.php文件
$files = glob('*.php', GLOB_BRACE | GLOB_NOSORT | GLOB_NOCHECK | GLOB_NOESCAPE | GLOB_MARK | GLOB_ONLYDIR);

以上这个例子便是将glob函数的各种标志都加上了,可以根据需要选择需要的标志。

注意事项
  • glob函数不保证返回路径的顺序。
  • glob函数默认不会扫描隐藏文件和目录,即以.开头的。
  • 在大多数情况下,可以使用scandir函数替代glob函数,虽然scandir函数返回的是文件名数组,而glob函数则返回的是相对于当前工作目录的路径数组。