获得某目录下的所有文件以及子目录文件

<?php
function read_dir($dir){
        $files = array();//定义一个函数,存放目录以及文件名
        if(is_dir($dir)){//判读是否是目录
                if($opendir = opendir($dir)){//打开目录
                        while(($file=readdir($opendir))!=false){//遍历目录
                                if($file !="." && $file !=".."){//排除查询结果的中"."以及".."
                                        if(is_dir($dir.‘/‘.$file)){//在判断查询的结果是否是还是目录
                                                $files[$file]=read_dir($dir.‘/‘.$file);//如果是目录的话,存放在数组中,并且数组字段名为该目录名,然后递归查询
                                        }else{
                                                $files[]=$file;//如果不是的话,存在在数组红,字段名从0开始,递增
                                        }
                                }
                        }
                        return $files;//返回该数组
                }
        }
        }
$result = read_dir("./");//使用该函数
print_r($result);//因为在函数中使用的数组,需要print_r打印结果。
?>

时间: 2024-12-06 02:55:38

获得某目录下的所有文件以及子目录文件的相关文章

Java版本的删除指定目录下名叫“xxx.txt”文件名的文件

以前写过一个python版本的,但是在查找文件路径的时候出现错误,无法正确的获取到文件的路径,就造成无法删除该路径下的“xxx.txt”文件. 当时以为是windows版本系统的错误造成这个问题的,也就没有继续深究,就把这个bug给放过了. 最近一段时间在学习android,肯定要用的java了,就用java实现了下,思路的话,肯定还是以前的了,结果还是出错,后来仔细的看了看代码,其实是自己的bug. 把代码贴下:(主要功能,删除指定目录下名叫"pylist.txt"的所有文件,使用递

计算目录下的md5值,用于文件被篡改后对比

计算/etc目录下的md5值,用于文件被篡改后对比,命令如下: find /etc/ -maxdepth 1 -type f | xargs -n1 md5sum> /root/etc_sum-$(date +%F).log 同样的道理, 我们可以将/usr/bin  /usr/sbin/ /usr/local/bin /root/bin 等等重要的目录下面的文件校验和都计算一遍,这样的话定期执行一下该命令,生成一份最新的校验和,通过diff命令将生成的log文件和原始的md5sum.log比较

查找目录下匹配.py或者.txt的文件

#!/usr/bin/python def endWith(s,*endstring_1):       #*代表允许传输多个参数,名称统一为endstring为元祖,**为字典 array = map(s.endswith,endstring_1)  #map(调用的函数名称,给这个函数传的参数) if True in array: return True else: return False if __name__ == '__main__': import os s = os.listdi

java移动文件夹、 慎用java file.renameTo(f)方法 、 java从一个目录复制文件到另一个目录下 、 java代码完成删除文件、文件夹 、

java移动文件夹(包含子文件和子文件夹): http://blog.csdn.net/yongh701/article/details/45070353 慎用java    file.renameTo(f)方法: http://www.cnblogs.com/mrwangblog/p/3934506.html 注意看结果,从C盘到E盘失败了,从C盘到D盘成功了.因为我的电脑C.D两个盘是NTFS格式的,而E盘是FAT32格式的.所以从C到E就是上面文章所说的"file systems"

php小代码----目录下读取子文件或子目录

<?php class RecDir {     protected $rootPath;     protected $opDirectory;     const RECDIR_MIXED = 'mixed';     const RECDIR_DIR = 'dir';     const RECDIR_FILE = 'file';     public $errorMsg = '';     public $errorNo = 0;     public function __constr

统计一个目录下cpp代码行数,子目录下也能统计

1.参考 http://www.cnblogs.com/ZCplayground/p/6275365.html 方法一样.用了下面这一行神秘代码 DIR *.* /B> LIST.TXT 可以发现 DIR *.cpp /B> LIST.TXT 这样可以生成目录下cpp格式的文件记录 经过研究  我发现 把cpp去掉 DIR *. /B> LIST.TXT 这样就可以获取子目录的目录名 文章开头那个博客用了输出.bat文件并运行,在递归下出现各种问题,经过试验和改进,改为了直接运行指令,指

PHP获取文件夹内所有文件包括子目录文件的名称或路径

/* * new getFile($_dir[,$_emptyDir,$_fileType]); * @parma $_dir 是目录名称 * @parma $_emptyDir 是否获取空文件夹,选填,默认不获取,true则获取空文件夹 * @parma $_fileType 获取文件名称的类型,选填,默认获取只文件名称,true则获取带有路径的文件名称 **/ class getFiles { private $_dir; private $_emptyDir; private $_file

/var/log目录下的20个Linux日志文件功能详解

如果愿意在Linux环境方面花费些时间,首先就应该知道日志文件的所在位置以及它们包含的内容.在系统运行正常的情况下学习了解这些不同的日志文件有助于你在遇到紧急情况时从容找出问题并加以解决. 以下介绍的是20个位于/var/log/ 目录之下的日志文件.其中一些只有特定版本采用,如dpkg.log只能在基于Debian的系统中看到. /var/log/messages - 包括整体系统信息,其中也包含系统启动期间的日志.此外,mail,cron,daemon,kern和auth等内容也记录在var

CoreJava_线程并发(堵塞队列):在某个目录下搜索含有某keyword的文件

Java多线程编程是很考验一个程序猿水平的. 传统的WEB程序中.由于框架提供了太多的健壮性.并发性.可靠性的支持,所以我们都是将全部的注意力放到了业务实现上.我们不过依照业务逻辑的要求.不停的积累自己的代码. 由于知识,或者是经验的限制.常常出现了问题而不自知. 比如,某些比較原始的项目中.并没有使用Spring等相对来说比較灵活健壮的框架. 而是只使用Servlet来作为服务端的实现方式. 举一个简单的栗子.众所周知,当请求到了容器,容器是创建而且启动了一个Servlet线程来对当前的请求作

FileFilter 遍历某个目录下文件名含有某个字符的文件

由于IIS版本的升级,造成了文件名中含有“+”的特殊字符的文件(多数是图片)在网页中不能被访问,于是必须查找当前目录下含有多少这样的文件,从而制定最佳的解决方案. 废话少说,直接上核心代码: public void GetAllFilesInDirectory(string strDirectory, string searchCh) { DirectoryInfo directory = new DirectoryInfo(strDirectory); DirectoryInfo[] dire