php 遍历目录下的所以文件和文件夹

<?php/** * 遍历文件夹和文件列 * @author lizhiming * @date 2016/06/30 */define(‘DS‘, DIRECTORY_SEPARATOR);

class File{    //返回数组    private $DirArray = array();    private $FileArray = array();    private $DirFileArray = array();

    private $Handle, $Dir, $File;

    //获取目录列表    public static function getDir(& $Dir)    {        if (is_dir($Dir)) {            if (false != ($Handle = opendir($Dir))) {                while (false != ($File = readdir($Handle))) {                    if ($File != ‘.‘ && $File != ‘..‘ && !strpos($File, ‘.‘) && is_dir($File)) {                        $DirArray[] = $File;                    }                }                closedir($Handle);            }        } else {            $DirArray[] = ‘[Path]:\‘‘ . $Dir . ‘\‘ is not a dir or not found!‘;        }        return $DirArray;    }

    //获取文件列表    public static function getFile(& $Dir)    {        if (is_dir($Dir)) {            if (false != ($Handle = opendir($Dir))) {                while (false != ($File = readdir($Handle))) {                    if (($File != ‘.‘ && $File != ‘..‘ && strpos($File, ‘.‘)) || is_file($File)) {                        $FileArray[] = $File;                    }                }                closedir($Handle);            }        } else {            $FileArray[] = ‘[Path]:\‘‘ . $Dir . ‘\‘ is not a dir or not found!‘;        }        return $FileArray;    }

    //获取目录/文件列表    public static function getDirFile(& $Dir)    {        if (is_dir($Dir)) {            $DirFileArray[‘DirList‘] = self::getDir($Dir);            if ($DirFileArray) {                foreach ($DirFileArray[‘DirList‘] as $Handle) {                    $File = $Dir . DS . $Handle;                    $DirFileArray[‘FileList‘][$Handle] = self::getFile($File);                }            }        } else {            $DirFileArray[] = ‘[Path]:\‘‘ . $Dir . ‘\‘ is not a dir or not found!‘;        }        return $DirFileArray;    }

}
时间: 2024-12-21 09:28:37

php 遍历目录下的所以文件和文件夹的相关文章

遍历目录下的所有文件-os.walk

1 #coding:utf-8 2 3 import os 4 5 6 for root,dirs,files in os.walk("D:"): 7 for fileItem in files: 8 print root + os.sep + fileItem 结果如下 遍历目录下的所有文件-os.walk,布布扣,bubuko.com

Python递归遍历目录下所有文件

#自定义函数: import ospath="D:\\Temp_del\\a" def gci (path): parents = os.listdir(path) for parent in parents: child = os.path.join(path,parent) #print(child) if os.path.isdir(child): gci(child) # print(child) else: print(child) gci(path) #使用os.walk方

(实用篇)PHP不用递归遍历目录下所有文件的代码

<?php /** * PHP 非递归实现查询该目录下所有文件 * @param unknown $dir * @return multitype:|multitype:string */ function scanfiles($dir) { if (! is_dir ( $dir )) return array (); // 兼容各操作系统 $dir = rtrim ( str_replace ( '\\', '/', $dir ), '/' ) . '/'; // 栈,默认值为传入的目录 $

C/C++遍历目录下的所有文件(Windows篇,超详细)

注:本文讨论的是怎么用Windows API遍历目录下的所有文件.除Windows API,还有一种Windows/Linux通用的方式,使用<io.h>. WIN32_FIND_DATA结构 遍历目录下的文件需要用到WIN32_FIND_DATA结构.实际上有两种结构:WIN32_FIND_DATAA和WIN32_FIND_DATAW.A和W分别代表ASCII和宽字符(Unicode).定义UNICODE宏时,WIN32_FIND_DATA指WIN32_FIND_DATAW:否则指WIN32

Linux和Windows的遍历目录下所有文件的方法对比

首先两者读取所有文件的方法都是采用迭代的方式,首先用函数A的返回值判断目录下是否有文件,然后返回值合法则在循环中用函数B直到函数B的返回值不合法为止.最后用函数C释放资源. 1.打开目录 #include <sys/types.h> #include <dirent.h> DIR *opendir(const char *name); 先看Linux的,返回的是DIR*,因此出错时返回NULL(0).而这里不用关心DIR结构具体定义,只需要知道是对它进行操作(注意:DIR不是保存文

使用 NIO.2 遍历目录下所有的Java文件

package wellGrounded; import java.io.IOException; import java.nio.file.FileVisitResult; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.SimpleFileVisitor; import java.nio.file.attribute.BasicFil

php遍历目录下文件,并读取内容

<?php echo "<h2>遍历目录下文件,并读取内容</h2><br>\n"; function listDir($dir) { if(is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { if((is_dir($dir."/".$file)) && $file!=".&quo

解决Linux下Tomcat日志目录下的catalina.log日志文件过大的问题

本文摘自:(http://blog.csdn.net/stevencn76/article/details/6246162) 分类: Java技术专区2011-03-13 12:25 5017人阅读 评论(1) 收藏 举报 tomcatlinux工具任务web 由于Tomcat在默认情况下会将没有经过配置的web应用所产生的日志输出已经其本身的日志内容都输出到这个文件中,那么随着时间的推移,这个文件的尺寸将会越来越大,当需要检查日志内容时间会导致文件难以打开,而且同时tomcat依旧在不断的向文

Linux Shell编程实战---计算特定目录下前10个大文件

计算特定目录下前10个大文件 在给定的目录下,想知道有哪些大文件存在,取前十个,按文件大小排行 (1).使用awk来实现 #!/bin/bash path=/root/shell find $path-type f | awk '{ var=$0 "ls -l "var |getline var1 split(var1,a," ") filename=a[9] filesize=a[5] printf("%s %s\n",filename,fil

删除指定目录下的指定后缀的文件

1 import java.io.*; 2 import javax.swing.*; 3 public class Delete{ 4 public static void main(String[] args)throws Exception{ 5 String target = JOptionPane.showInputDialog(null,"请输入您要清理垃圾的目录:"); 6 File[] fs = new File(target).listFiles(new Filena