以树型结构列出指定目录里的所有文件,这样的话,目录下的所有文件便结构清晰的呈现在你的面前,有什么文件你一看便知,很方便的哦。

示例,

php; auto-links:false;">

/**

* 列出目录中所有文件

* by 脚本学堂 www.#

*/

#例子

$t = new TreeClimber( "asp" ); //新建物件,设置需要列出的目录:在此为asp目录

echo arrayValuesToString( $t->getFileList( $t->getPath() ), "
\n" );

function arrayValuesToString( $ar, $nl="", $dolast=true ) {//调用函数

$str = "";

reset( $ar );

$size = sizeof( $ar );

$i = 1;

while( list( $k, $v ) = each( $ar ) ) {

if ( $dolast == false ) {

if ( $i < $size ) {

$str .= $ar[$k].$nl;

}

else {

$str .= $ar[$k];

}

}

else {

$str .= $ar[$k].$nl;

}

$i++;

}

return $str;

}

//类 TreeClimber

class TreeClimber {

var $path;

var $fileList = array();

function TreeClimber( $path = "." ) {

$this->path = $path;

}

# 存取路径

function getPath() { return $this->path; }

function setPath( $v ) { $this->path = $v; }

// 返回指定目录里的文件列表,如果没有指定目录,将使用当前目录

//如果不能打开目录(可能没权限或目录不存在,将返回为空

//以递归方式进行

function getFileList( $dirname=null, $returnDirs=false, $reset=true ) {

if ( $dirname == null ) { $dirname = $this->path; }

# else { $this->setPath( $dirname ); }

# dout( "Recursing into $dirname..." );

if ( $reset ) {

$this->fileList = array();

}

$dir = opendir( $dirname );

if ( ! $dir ) {

print( "注意: TreeClimber.getFileList( $dirname ): 不能打开 $dirname!" );

return null;

}

while( $file = readdir( $dir ) ) {

if ( ereg( "^\.$", $file ) || ereg( "^\.\.$", $file ) ) continue;

if ( is_dir( $dirname."/".$file ) ) {

$this->getFileList( $dirname."/".$file, $returnDirs, false );

if ( $returnDirs ) { $this->fileList[] = $dirname."/".$file;}

}

else { $this->fileList[] = $dirname."/".$file; }

}

sort( $this->fileList );

return $this->fileList;

}

}

?> 大家在使用以上的php类时,记得先在文件较少的目录下进行测试,以得到清晰的树型结构。

当然,你也可以扩展这个类,以实现更强大的功能。

php删除树结构文件,树型结构列出目录中所有文件的php代码相关推荐

  1. Python 列出目录中的文件

    在本文中,我们将了解如何在 Python 中列出目录中的所有文件.有多种方法可以列出目录的文件.在本文中,我们将使用以下 四种方法. os.listdir('dir_path'):返回指定目录路径中存 ...

  2. linux相对路径列出目录文件,linux – UNIX:列出目录中具有相对路径的文件

    问题是: 您将使用什么命令列出您的文本文件 fileAsst目录(使用相对路径)? 上一个问题是: 命令列出这些文本文件的名称,使用fileAsst目录的绝对路径作为命令的一部分. 答案是: ~/Un ...

  3. linux C 列出目录中的文件列表 包含文件的相关信息

    当前目录下 任意指定目录 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <sys/types.h> 4 ...

  4. FileSystemObject模型-如何列出目录中的文件(VB6)

    这是一个简单的VB6代码段,使用 FileSystemObject模型可查找C:\ Temp中的所有文件并将其名称加载到列表框中. 要使用此示例,您需要进行如下设置: 在VB6中创建一个新项目 添加表 ...

  5. java获取文件列表_java获取指定目录中的文件列表

    最近项目中会动态生成文件html及相关资源文件(css,js,png,mp3),为了防止文件名重复,需要获取目录中相同类型文件的最大编号,下面我用代码来实现获得文件列表. public static ...

  6. php 有子目录,php列出目录中所有子目录的实现代码

    /** * 取出指定目录的所有子目录 * edit: www.jbxue.com * 2013/10/9 */ function listdir($dir){ if ($handle = opendi ...

  7. 如何列出目录的所有文件

    如何在Python中列出目录中所有文件并将其添加到list? os.listdir()将为您提供目录中的所有内容 - 包含文件和目录. 如果您只想要文件,可以使用以下方法对其进行过滤os.path f ...

  8. dtree和jquery构建树型结构

    对于小型的树型应用来说,dtree是一个不错的选择. 先看一眼dtree给的例子 构造静态树 首先引入css文件和js文件 <link rel="StyleSheet" hr ...

  9. mysql 转成树_Mysql树型结构2种方式及相互转换

    Mysql实现树型结构,数据库上常见有2种方式:领接表.预排序遍历树(MPTT). 领接表方式-- 主要依赖于一个 parent 字段,用于指向上级节点,将相邻的上下级节点连接起来,id 为自动递增自 ...

最新文章

  1. python 操作word文件案例
  2. mysql -ss -e_课内资源 - 基于ssm框架和mysql的网上选课系统
  3. python 切割字符串
  4. 杭电1016Java实现
  5. 条件编译 #ifndef _HEAD_H...中下划线的理解
  6. 【Java】集合+I/O流+多线程の练习题+面试题
  7. 快速学习R语言的经验分享
  8. golang 读取本机唯一码_UDI医疗器械唯一标识系统,您身边的UDI专家
  9. java中为什么需要常量和变量的区别_Java中常量和最终变量之间的区别?
  10. Ext.tree.Panel示例
  11. Maven 设置本地仓库的地址
  12. Silverlight4 多页打印实现
  13. 高尔顿钉板实验的matlab代码动画演示
  14. ps学习——基本工具
  15. Windows 8激活产品密匙公布
  16. 云计算 ——虚拟化认识
  17. python绘制直线的垂线_Matplotlib:散点图中的垂直线
  18. 断点回归matlab,【独家发布】使用地理边界进行断点回归设计
  19. gamit错误提示:PCN-code missing for receiver type TRMR12 in rcvant.dat
  20. C语言程序设计编辑与调试环境初级(已更完)

热门文章

  1. python的sdk是什么意思_python sdk
  2. C++新特性探究(6.1):auto和decltype的类型推断差异所在
  3. charles抓包工具_HTTP协议抓包工具:Charles for Mac
  4. oracle+rman+备份命令,Oracle Rman 备份命令超详解释
  5. 37镇魔曲网页版服务器状态,37《镇魔曲网页版》官网正式上线
  6. 关于html语义化 以下哪个说法是正确呢,前端面试题2019年网易工程师面试题及答案解析...
  7. cache 计算机系统实验报告,西安交通大学计算机系统结构实验报告CACHE.doc
  8. linux san网络,rhel5 – 使用Linux时,为什么我的MPIO连接到SAN的上限为1 Gbps?
  9. mysql xa 使用_MySQL如何实现 XA 规范
  10. java 反射静态内部类_android-反射的使用(反射静态内部类、非静态内部类、匿名内部类等)...