欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-11-11 16:47:40
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")); //电脑的文件路径即可