函数名:glob()
适用版本:PHP 4 >= 4.3.0, PHP 5, PHP 7
用法:glob() 函数用于在指定的目录中搜索与模式匹配的文件路径。它返回一个数组,包含与指定模式匹配的文件路径。
语法:array glob ( string $pattern [, int $flags = 0 ] )
参数:
- $pattern:必需,指定要搜索的文件路径模式。可以是简单的文件名模式,也可以是包含通配符的模式。支持的通配符有 *(匹配任意字符序列)和 ?(匹配任意单个字符)。
- $flags:可选,指定额外的匹配选项。常用的选项有 GLOB_MARK(在每个返回的路径末尾加上一个斜杠)和 GLOB_BRACE(扩展 {a,b,c} 类似的模式)等。具体可用的选项可以参考 PHP 官方文档。
返回值:返回一个包含与模式匹配的文件路径的数组,如果没有匹配的文件则返回空数组。
示例:
// 搜索当前目录下所有以 .txt 结尾的文件
$files = glob("*.txt");
print_r($files);
// 搜索指定目录下所有以 .jpg 或 .png 结尾的图片文件
$files = glob("path/to/images/*.{jpg,png}", GLOB_BRACE);
print_r($files);
// 搜索指定目录下所有以 a 开头的子目录
$directories = glob("path/to/directories/a*", GLOB_ONLYDIR);
print_r($directories);
注意事项:
- glob() 函数对于大量文件的搜索可能会影响性能,因此在处理大型文件集时要谨慎使用。
- 在 Windows 系统中,glob() 函数对于搜索带有驱动器字母(如 C:)的绝对路径时,需要使用斜杠(/)而不是反斜杠(\)。
- 还可以使用其他函数如 scandir()、opendir() 等来实现文件和目录的搜索和操作。