您的位置:首页 > 编程语言 > PHP开发

一个php函数,能够遍历一个文件夹下的所有文件和子文件夹 。

2015-11-05 23:55 423 查看
这个函数是别人写的,我整理了一下,加了很多注释。

函数说明:

本函数执行过程:

检测目录->打开目录->读取目录->去除特殊目录->判断子目录里是否还存在文件->如是,再次调用->如不是,将文件条目放入数组->关闭文件夹->返回文件夹条目。

<?php
/**
* 将读取到的目录以数组的形式展现出来
* @return array
* opendir() 函数打开一个目录句柄,可由 closedir(),readdir() 和 rewinddir() 使用。
* is_dir() 函数检查指定的文件是否是目录。
* readdir() 函数返回由 opendir() 打开的目录句柄中的条目。
* @param array $files  所有的文件条目的存放数组
* @param string $file  返回的文件条目
* @param string $dir  文件的路径
* @param resource $handle  打开的文件目录句柄
*/
function my_scandir($dir){
//定义一个数组
$files=array();
//检测是否存在文件
if(is_dir($dir)){
//打开目录
if($handle=opendir($dir)) {
//返回当前文件的条目
while(($file=readdir($handle))!==false){
//去除特殊目录
if($file!="." && $file!=".."){
//判断子目录是否还存在子目录
if(is_dir($dir."/".$file)){
//递归调用本函数,再次获取目录
$files[$file]=my_scandir($dir."/".$file);
}else {
//获取目录数组
$files[]=$dir."/".$file;
}
}
}
//关闭文件夹
closedir($handle);
//返回文件夹数组
return $files;
}
}
}
echo "<pre>";
print_r(my_scandir("你电脑里面可执行的目录"));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息