PHP glob://
介绍
该水珠://流包装可在5.3.0之后所有的PHP版本。它查找与给定模式匹配的路径名。PHP的文件系统功能glob()遵循libcglob()
规则,可以达到类似的目的。
参数
特殊字符
*-匹配零个或多个字符。
?−精确匹配一个字符(任何字符)。
[...]-匹配一组字符中的一个字符。如果第一个字符是!,则匹配组中未包含的任何字符。
\-转义以下字符,除非使用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) . "\n"; } ?>
使用glob://流包装器
<?php $it = new DirectoryIterator("glob://test/*.php"); foreach($it as $f) { echo "File name: " . $f->getFilename() . " size: " . $f->getSize() . "\n";); } ?>
这两个脚本都在测试子目录中显示扩展名为.php的文件的名称和大小