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

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

 1 <?php
 2 /**
 3  * 将读取到的目录以数组的形式展现出来
 4  * @return array
 5  * opendir() 函数打开一个目录句柄,可由 closedir(),readdir() 和 rewinddir() 使用。
 6  * is_dir() 函数检查指定的文件是否是目录。
 7  * readdir() 函数返回由 opendir() 打开的目录句柄中的条目。
 8  * @param array $files 所有的文件条目的存放数组
 9  * @param string $file 返回的文件条目
10  * @param string $dir 文件的路径
11  * @param resource $handle 打开的文件目录句柄
12  */
13 function my_scandir($dir)
14 {
15     //定义一个数组
16     $files = array();
17     //检测是否存在文件
18     if (is_dir($dir)) {
19         //打开目录
20         if ($handle = opendir($dir)) {
21             //返回当前文件的条目
22             while (($file = readdir($handle)) !== false) {
23                 //去除特殊目录
24                 if ($file != "." && $file != "..") {
25                     //判断子目录是否还存在子目录
26                     if (is_dir($dir . "/" . $file)) {
27                         //递归调用本函数,再次获取目录
28                         $files[$file] = my_scandir($dir . "/" . $file);
29                     } else {
30                         //获取目录数组
31                         $files[] = $dir . "/" . $file;
32                     }
33                 }
34             }
35             //关闭文件夹
36             closedir($handle);
37             //返回文件夹数组
38             return $files;
39         }
40     }
41 }
42 
43 echo "<pre>";
44 print_r(my_scandir("./aa")); //电脑的文件路径即可

猜你喜欢

转载自www.cnblogs.com/handle/p/9232276.html