遍历一个文件夹下的所有文件和子文件夹
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了遍历一个文件夹下的所有文件和子文件夹相关的知识,希望对你有一定的参考价值。
遍历一个文件夹下的所有文件和子文件夹
相关函数:
1、opendir(): 函数打开一个目录句柄,可由 closedir(),readdir() 和 rewinddir() 使用。
若成功,则该函数返回一个目录流,否则返回 false 以及一个 error。可以通过在函数名前加上 "@" 来隐藏 error 的输出。
语法:opendir(path,context)
参数 |
描述 |
path |
必需。规定要打开的目录路径。 |
context |
可选。规定目录句柄的环境。context 是可修改目录流的行为的一套选项。 |
2、readdir(): 函数返回由 opendir() 打开的目录句柄中的条目。若成功,则该函数返回一个文件名,否则返回 false。
语法:readdir(dir_stream)
参数 |
描述 |
dir_stream |
必需。规定要使用的目录句柄。 |
说明:返回目录中下一个文件的文件名。文件名以在文件系统中的排序返回。
3、closedir(): 函数关闭由 opendir() 函数打开的目录句柄。
4、rewinddir() 函数重置由 opendir() 打开的目录句柄。本函数什么都不会返回。 提示:本函数重读目录,并可用于检查目录中的变化。
1 <?php 2 function scandir($dir) 3 { 4 $files=array(); 5 if(is_dir($dir)) 6 { 7 if($handle=opendir($dir)) 8 { 9 10 while(($file=readdir($handle))!==false) 11 { 12 if($file!=‘.‘ && $file!=‘..‘) 13 { 14 if(is_dir($dir.‘/‘.$file)) 15 { 16 $files[$file]=scandir($dir.‘/‘.$file); 17 } 18 else 19 { 20 $files[]=$dir.‘/‘.$file; 21 } 22 } 23 } 24 closedir($handle); 25 return $files; 26 } 27 } 28 } 29 $dir = "F:/Projects/WWW"; 30 print_r(scandir($dir)); 31 ?>
以上是关于遍历一个文件夹下的所有文件和子文件夹的主要内容,如果未能解决你的问题,请参考以下文章