昨天面试的时候遇到了这个题目,没有做出来,因为我不知道用PHP访问文件夹下文件的函数。
思路:要说算法的话,这题其实并不难。获取文件夹下的子文件,如果是文件就输出,如果是文件夹,输出之后继续深入搜索。用个递归就行了。
需要用到的方法:
is_dir($path) 判断是否是一个文件夹
opendir($path)打开文件夹
readdir($dir)依次读取文件夹下的文件
filetype($file)文件的属性,有dir和file两种
function listdirfiles($p){
//先检查$p是不是一个文件夹
if(is_dir($p)){
//依次读取文件夹下的子文件
$dir = opendir($p);
while(($file = readdir($dir))!==false){
//注意file的type,有file和dir两种,而dir要注意,在linux下,.和..也是属于dir的,如果不进行排除,会发生无限次循环的问题。
$type = filetype($p.$file);
if($type=='dir'&&$file!='.'&&$file!='..'){
listdirfiles($p.$file.'/');
}
echo $file.' ';
}
//用完要记得关闭
closedir($dir);
}else{
echo 'The path is not a dir';
}
}
分享到:
相关推荐
Javascript如何遍历一个文件夹下的所有文件与目录
在window下,使用c++遍历文件夹及其子文件夹所有文件 并输出文件路径和文件内容。网上的资源大多都只是遍历文件夹,但是我需要打印出文件内容,所以自己弄了两天,这就是我的成果(*^__^*) ……
基于matlab的遍历文件夹中的所有子文件,并且读取并存储子文件的数据
QT遍历删除文件夹
遍历整个文件夹中的文件及子文件夹,并进行复制操作,获得子文件和子文件夹的个数。一个标准的案例,VB编写
遍历指定文件夹中的所有文件
遍历一个文件夹下面的所有文件(包括文件夹下的文件夹)
c#遍历一个文件夹下的所有文件包括子文件夹 比较实用,实用起来很方便
对linux命令tree的简单实现,遍历指定文件夹下的所有文件
遍历目录下所有文件,下载后请修改需要遍历的目录,遍历后形成list.txt文件显示所有文件和文件大小
vba 电子表格 宏代码 编程 用VBA代码实现遍历某文件夹下所有*.xls*文件,有两种实现方法
C++遍历指定文件夹中的所有文件 遍历方法
遍历指定文件夹下的所有文本夹,首先,获取所有的文件夹;其次,从找到的第一个文件开始,循环查找,直到没有文件为止,最后,将文件目录和文件名组合,并存放到数组中
VB遍历指定文件夹内所有文件,希望对您有用!
遍历文件夹及子文件夹下所有图片,并生成图片的路径网站路径,并生成HTML文件。
直接编译可以运行。运行时输入盘符如"d:"或者输入文件夹如:“c:\\window”等。可能文件比较多,需要遍历一段时间。为了方便检测,最好自己制定一个文件比较少的文件夹。
在MFC环境下,读取文件夹,并且遍历该文件下下面的所有文件(包含子文件等)。
递归遍历指定文件夹下所有文件 FindFirstFile
VB 代码遍历文件夹下 所有文件夹,超简短代码,速度超快
linux及win跟目录递归遍历文件和文件夹及子文件夹 自己用的,