Filesystem 函数
PHP Manual

glob

(PHP 4 >= 4.3.0, PHP 5)

glob寻找与模式匹配的文件路径

说明

array glob ( string $pattern [, int $flags ] )

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

返回一个包含有匹配文件/目录的数组。如果出错返回 FALSE

有效标记为:

Example #1 怎样用 glob() 方便地替代 opendir() 和相关函数

<?php
foreach (glob("*.txt") as $filename) {
    echo 
"$filename size " filesize($filename) . "\n";
}
?>

以上例程的输出类似于:

funclist.txt size 44686
funcsummary.txt size 267625
quickref.txt size 137820

Note: 此函数不能作用于远程文件,被检查的文件必须是可通过服务器的文件系统访问的。

参见 opendir()readdir()closedir()fnmatch()

参数

pattern

The pattern. No tilde expansion or parameter substitution is done.

flags

Valid flags:

  • GLOB_MARK - Adds a slash to each directory returned
  • GLOB_NOSORT - Return files as they appear in the directory (no sorting)
  • GLOB_NOCHECK - Return the search pattern if no files matching it were found
  • GLOB_NOESCAPE - Backslashes do not quote metacharacters
  • GLOB_BRACE - Expands {a,b,c} to match 'a', 'b', or 'c'
  • GLOB_ONLYDIR - Return only directory entries which match the pattern
  • GLOB_ERR - Stop on read errors (like unreadable directories), by default errors are ignored.

返回值

Returns an array containing the matched files/directories, an empty array if no file matched or FALSE on error.

Note:

On some systems it is impossible to distinguish between empty match and an error.

更新日志

版本 说明
5.1.0 GLOB_ERR was added
4.3.3 GLOB_ONLYDIR became available on Windows and other systems not using the GNU C library

范例

Example #2 Convenient way how glob() can replace opendir() and friends.

<?php
foreach (glob("*.txt") as $filename) {
    echo 
"$filename size " filesize($filename) . "\n";
}
?>

以上例程的输出类似于:

funclist.txt size 44686
funcsummary.txt size 267625
quickref.txt size 137820

注释

Note: 此函数不能作用于远程文件,被检查的文件必须是可通过服务器的文件系统访问的。

Note: This function isn't available on some systems (e.g. old Sun OS).

Note: The GLOB_BRACE flag is not available on some non GNU systems, like Solaris.

参见


Filesystem 函数
PHP Manual