PHP glob 文件系统函数

  • 定义和用法

    glob - 寻找与模式匹配的文件路径
  • 版本支持

    PHP4 PHP5 PHP7
    4.3.0(含)+支持 支持 支持
    5.1.0 添加 GLOB_ERR
    4.3.3 GLOB_ONLYDIR 在 Windows 或者其它不使用 GNU C 库的系统上开始可用。
  • 语法

    glob (string $pattern [, int $flags = 0 ] )   
    
    glob() 函数依照 libc glob() 函数使用的规则寻找所有与 pattern 匹配的文件路径,类似于一般 shells 所用的规则一样。不进行缩写扩展或参数替代。
  • 参数

    参数 必需的 描述
    pattern 模式。 没有波浪号扩展或参数替换。
    flags 有效标记有:
    • GLOB_MARK - 在每个返回的项目中加一个斜线
    • GLOB_NOSORT - 按照文件在目录中出现的原始顺序返回(不排序)
    • GLOB_NOCHECK - 如果没有文件匹配则返回用于搜索的模式
    • GLOB_NOESCAPE - 反斜线不转义元字符
    • GLOB_BRACE - 扩充 {a,b,c} 来匹配 'a','b' 或 'c'
    • GLOB_ONLYDIR - 仅返回与模式匹配的目录项
    • GLOB_ERR - 停止并读取错误信息(比如说不可读的目录),默认的情况下忽略所有错误
  • 返回值

    返回一个包含有匹配文件/目录的数组。如果出错返回 FALSE。
    在某些系统上,不可能区分空匹配和错误。
  • 示例

    <?php
    foreach (glob("*.txt") as $filename) {
       echo "$filename size " . filesize($filename) . "\n";
    }
    ?>
    
    注意: 此函数不能作用于远程文件,被检查的文件必须是可通过服务器的文件系统访问的。
    注意: 此函数在一些系统上还不能工作(例如一些旧的 Sun OS)。
    注意: GLOB_BRACE 在一些非 GNU 系统上无效,比如 Solaris。
  • 相关函数

    opendir() - 打开目录句柄
    readdir() - 从目录句柄中读取条目
    closedir() - 关闭目录句柄
    fnmatch() - 用模式匹配文件名