遍历一个文件夹下的所有文件和子文件夹

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 ?>

 

以上是关于遍历一个文件夹下的所有文件和子文件夹的主要内容,如果未能解决你的问题,请参考以下文章

遍历一个文件夹下的所有文件和子文件夹

php 遍历一个文件夹下的所有文件和子文件夹

遍历任何文件夹下的子目录和子文件(以树形展示)

遍历任何文件夹下的子目录和子文件(以树形展示)

遍历一个文件夹下面所有的文件和子文件夹

求PHP遍历文件夹代码