php glob()函数返回匹配指定模式的文件名或目录。因此我们可以使用glob函数来查找文件,也可以实现目录的遍历。
函数说明:array glob ( string $pattern [, int $flags ] )
功能:寻找与模式匹配的文件路径,返回包含匹配文件(目录)的数组(注:被检查的文件必须是服务器系统的,不能用于远程文件)
参数说明:第一个参数:匹配模式;第二个可选参数:
- GLOB_MARK - 在每个返回的项目中加一个斜线
- GLOB_NOSORT - 按照文件在目录中出现的原始顺序返回(不排序)
- GLOB_NOCHECK - 如果没有文件匹配则返回用于搜索的模式
- GLOB_NOESCAPE - 反斜线不转义元字符
- GLOB_BRACE - 扩充 {a,b,c} 来匹配 'a','b' 或 'c'
- GLOB_ONLYDIR - 仅返回与模式匹配的目录项
实例一:获取指定目录下的所有文件和子目录
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?php $directories = glob ( "/tmp/*" , GLOB_ONLYDIR); //获取/tmp/目录下的所有目录 $complete = glob ( "/tmp/*" ); //获取/tmp/目录下的所有目录和文件 $files = array_diff ( $directories , $complete ); //获取/tmp/目录下的所有文件 echo "Directories in /tmp/<BR>" ; foreach ( $directories as $val ) { echo "$val<BR>\n" ; } echo "<BR>Files in /tmp/<BR>" ; foreach ( $files as $val ) { echo "$val<BR>\n" ; } ?> |
实例二:你还在用opendir readdir遍历文件吗,你真out了!
1
2
3
4
5
6
|
<?php $files = glob ( "dir/*.jpg" ); foreach ( $files as $jpg ){ echo $jpg , "\n" ; } ?> |
以上就是对php使用glob函数遍历文件和目录的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!