<?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;
} }

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

  1. VC/MFC 下 递归遍历目录下的所有子目录及文件

    在MFC下要实现文件夹的递归遍历,可用CFileFind类,依次读取文件夹下的子文件夹和文件,并判断通过判断是文件夹还是文件来决定递归遍历.递归遍历代码如下: /******************* ...

  2. .Net 遍历目录下第一层的子文件夹和子文件夹里的文件

    今天再完成一道任务的时候需要遍历得到所有txt文件,搜索很久终于得到了一个很方便的方法. foreach (string o in Directory.GetDirectories(@"D: ...

  3. IO流-递归遍历目录下指定后缀名结尾的文件名称

    /* *自定义遍历目录下指定后缀名结尾文件的名称的方法: * * param file:指定目录 name:指定后缀名 */ 1 public static void FileName(File fi ...

  4. php源码之遍历目录下的所有的文件

    <?php //遍历目录下的所有的文件 -- 递归调用 // http://www.manongjc.com/article/1495.html function get_all_file1($ ...

  5. Python遍历目录下所有文件的最后一行进行判断若错误及时邮件报警-案例

    遍历目录下所有文件的最后一行进行判断若错误及时邮件报警-案例: #-*- encoding: utf-8 -*- __author__ = 'liudong' import linecache,sys ...

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

    <?php /** * PHP 非递归实现查询该目录下所有文件 * @param unknown $dir * @return multitype:|multitype:string */ fu ...

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

    package wellGrounded; import java.io.IOException; import java.nio.file.FileVisitResult; import java. ...

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

    <?php echo "<h2>遍历目录下文件,并读取内容</h2><br>\n"; function listDir($dir) { i ...

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

    本文可转载,转载请注明出处:http://www.cnblogs.com/collectionne/p/6815924.html. 前面的一篇文章我们讲了用Windows API遍历一个目录下的所有文 ...

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

    注: 1. 本文讨论的是怎么用Windows API遍历目录下的所有文件.除Windows API,还有一种Windows/Linux通用的方式,使用<io.h>. 2. 本文部分翻译自M ...

随机推荐

  1. 【BZOJ-4690】Never Wait For Weights 带权并查集

    4690: Never Wait for Weights Time Limit: 15 Sec  Memory Limit: 256 MBSubmit: 88  Solved: 41[Submit][ ...

  2. python字符串格式化输出

    python格式化输出 python格式化输出有两种方式:百分号和format format的功能要比百分号方式强大,其中format独有的可以自定义字符填充空白.字符串居中显示.转换二进制.整数自动 ...

  3. C++ essentials 之 union

    Extraction from The C++ Programming Language 4th. edition, Bjarne Stroustrup [8.1] A struct is a seq ...

  4. 旅图——UI测试

    测试目标 保证代码质量,确保基础功能的实现,可以有效地保证代码的可靠性,让模块在与别的模块整合时出现更少的错误,减少最终测试时查找困难无方向. UI测试 登录过程 模拟登录过程,密码正确与密码错误的情 ...

  5. java 图像灰度化与二值化

    转载:http://www.chinasb.org/archives/2013/01/5053.shtml 1: package org.chinasb.client; 2: 3: import ja ...

  6. persistent.xml hibernate 利用sql script 自定义生成 table 表

    <?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http:// ...

  7. 捉襟见肘之NSMutableSet和NSPointerArray

    用来学习复习记录,其他优秀的译文,点击这里 一.NSMutableSet NSMutableSet和NSMutableArray存放数据方式分别是无序和有序,这说明,数组是可以通过index获取对象. ...

  8. 堆优化的Dijkstra

    SPFA在求最短路时不是万能的.在稠密图时用堆优化的dijkstra更加高效: typedef pair<int,int> pii; priority_queue<pii, vect ...

  9. 如何使用alt键+数字键盘上的数字键打出特殊符号

    如何使用alt键+数字键盘上的数字键打出特殊符号 有时当我需要画示意图说明一个问题,但是苦于没有合适的符号,因此,这篇博文将简单介绍一些特殊的符号方便自己以及大家使用. 实现原理很简单:所有的字符(包 ...

  10. zabbix 安装

    php+nginx+mysql+zabbix 官方https://www.zabbix.com/documentation/3.0/manual/installation/install 1.安装依赖 ...