PHP glob://
phpserver side programmingprogramming
简介
glob:// 流包装器在 PHP 5.3.0 及之后的所有版本中均可用。它可以查找与给定模式匹配的路径名。PHP 的文件系统函数 glob() 也遵循 libc glob() 规则,可实现类似的目的。
参数
特殊字符
- * − 匹配零个或多个字符。
- ? − 匹配一个字符(任意字符)。
- [...] − 匹配一组字符中的一个字符。如果第一个字符是 !,则匹配不在该组中的任意字符。
- \ −转义后续字符,除非使用了 GLOB_NOESCAPE 标志。
有效标志
- GLOB_MARK − 为返回的每个目录添加一个斜杠(Windows 上为反斜杠)
- GLOB_NOSORT − 返回目录中的文件(不排序)。如果未使用此标志,则路径名按字母顺序排序
- GLOB_NOCHECK − 如果未找到与搜索模式匹配的文件,则返回该模式
- GLOB_NOESCAPE − 反斜杠不引用元字符
- GLOB_BRACE −扩展 {a,b,c} 以匹配 'a'、'b' 或 'c'
- GLOB_ONLYDIR − 仅返回与模式匹配的目录条目
- GLOB_ERR − 读取错误时停止(例如无法读取的目录),默认情况下会忽略错误。
示例
使用 glob() 函数
<?php foreach (glob("test/*.php") as $filename) { echo "$filename size " . filesize($filename) . "
"; } ?>
使用 glob:// 流包装器
<?php $it = new DirectoryIterator("glob://test/*.php"); foreach($it as $f) { echo "File name: " . $f->getFilename() . " size: " . $f->getSize() . "
";); } ?>
两个脚本均显示 test 子目录中扩展名为 .php 的文件的名称和大小