`

递归显示当前目录树,可自定义结点标记

    博客分类:
  • php
阅读更多
//静态层级数
static $i = 0;

//递归目录
function showfile($dir){
	global $i;
	$d = dir($dir);
	//echo "Handle: " . $d->handle . "\n";
	//echo "Path: " . $d->path . "\n";
	$i++;
	$space = printSpace($i);
	while ( false !== ($entry = $d->read ()) ) {
		//echo $entry . "<br />";
		//echo "<font color=red>".$dir."/".$entry."</font><br/>";
		if($entry!='.' && $entry!='..' && is_dir($dir."/".$entry)){
			echo "<font color=red>".$space.$entry."</font><br/>";
			showfile($dir."/".$entry);
		}else{
			if(is_file($dir."/".$entry)){
				echo $space.$entry."<br/>";
			}
		}
	}
	$d->close ();
	$i--;
	
}

//自定义输出层级标记,默认-
function printSpace($num,$concatStr='-'){
	for($i=0;$i<$num;$i++){
		$str.=$concatStr;
	}
	return $str;
}

//示例:  当前目录
showfile(dirname(__file__));

 

输出如下格式(红色为目录):

 

-.project
-.buildpath
-.settings
--org.eclipse.php.core.prefs
--org.eclipse.core.resources.prefs
-client.php
-example.php
-FZAPI.php
-rsa
--testrsa.php
--rsa.php
--ssl-key
---priv.key
---pub.key
-phpinfo.php


....

分享到:
评论

相关推荐

    递归显示数据库目录树+BBS

    在显示数据库目录树的情况下,递归通常用于遍历文件系统的目录结构,逐级展示每个目录及其子目录的内容。 数据库目录树的表示通常使用树形结构,其中每个节点代表一个目录或文件,包含其名称、路径和子节点(子目录...

    递归显示数据库目录树(html+java servlet)

    在IT领域,数据库目录树的递归展示是一项常见的任务,特别是在构建Web应用程序时。这个案例中,我们将讨论如何使用HTML和Java Servlet技术来实现这一功能。`递归显示数据库目录树(html+java servlet)`的主题主要涉及...

    题目:编写递归算法,将二叉树中所有结点的左右子树相互交换 - READ.doc

    该算法的核心是使用递归函数来交换二叉树中所有结点的左右子树,从而实现树形结构中结点的交换。该算法的设计和实现主要涉及到树形结构、递归函数和指针操作等多个方面。 二、树形结构知识点 * 树形结构是一种常用...

    编写递归算法,计算二叉树中叶子结点的数目

    编写递归算法,计算二叉树中叶子结点的数目

    使用递归生成文件目录树

    ### 使用递归生成文件目录树 #### 概述 在计算机科学中,文件系统的组织结构通常采用树形结构表示,其中根目录为树的根节点,而子目录和文件则作为分支节点。为了清晰地展示文件系统中的层级关系,本篇文章将介绍...

    linux 目录树实现代码递归

    本篇将深入探讨如何使用递归算法在C语言中实现Linux目录树的遍历。 首先,我们需要理解递归的概念。递归是一种解决问题的方法,它通过调用自身来解决子问题,直到达到基本情况。在处理目录树时,我们可以把根目录视...

    在JSP中使用递归算法生成目录树

    在目录树中,每个目录都可以看作是一个节点,如果一个目录包含其他目录,那么这些目录就是当前目录的子节点。递归算法可以遍历这些节点,生成相应的HTML代码来展示目录树。 2. 实现步骤: - 数据准备:首先,你...

    C#非递归后序遍历文件目录树

    对于C#开发者来说,理解如何非递归地后序遍历文件目录树是非常有用的技能。后序遍历通常指的是先访问子节点,再访问父节点的遍历顺序。这种遍历方式在处理复杂的文件结构时尤其有用,例如在计算文件大小、执行清理...

    .net ,递归写自定义树

    在.NET开发中,构建自定义树形结构是一种常见的需求,特别是在网页UI设计中,用于展现层级关系的数据。这里我们关注的是使用jQuery控件配合后台.NET代码来递归构造树形结构。递归是一种强大的编程技术,它允许函数或...

    递归遍历目录并生成树

    在给定的标题“递归遍历目录并生成树”中,涉及的核心技术是递归算法和Windows API的使用,特别是与文件系统交互的部分。这个任务可以通过使用MFC(Microsoft Foundation Classes)中的`CTreeCtrl`控件来实现,它...

    Java递归算法构造JSON树形结构

    Java 递归算法构造 JSON 树形结构 Java 递归算法构造 JSON 树形结构是指通过 Java 语言使用递归算法将数据库中的菜单表构建成树形的 JSON 格式发送给第三方。这种方法可以将复杂的树形结构数据转换成易于理解和处理...

    二叉树的操作--递归非递归遍历、结点个数、树深度

    遍历递归的先中後序, 非递归的先中後序, 计算出深度 结点数 /* 运行结果: ------------------------ 请先序输入二叉树(如:ab三个空格表示a为根节点,b为左子树的二叉树) ab c 先序递归遍历二叉树: a b c 先序...

    sql自定义递归方法

    在SQL中实现自定义递归方法,是一种高效处理层次结构数据的强大工具。本文将深入探讨一个具体的案例,即如何利用SQL自定义函数实现对部门层级数据的递归查询,这不仅能够帮助我们更好地理解SQL递归函数的工作原理,...

    c语言 二叉树应用:创建、递归非递归遍历、计算结点、分支、交换子树

    可实现: 输入相应元素,用先序创建二叉树(无元素处用“#”) 递归先序遍历二叉树: 递归中序遍历二叉树: 递归后序遍历二叉树: 非递归先序遍历二叉树: 非递归中序遍历二叉树: 非递归后序遍历二叉树: ...

    使用递归获取TreeList中所有勾选的结点

    在处理层次结构数据如树形结构时,递归特别有效,因为它可以方便地遍历和处理每一层节点。在TreeList中,每个节点可能有子节点,这些子节点又可能有它们自己的子节点,以此类推,形成一个深度未知的树状结构。 ...

    树结点递归添加-VB.NET

    在VB.NET编程中,"树结点递归添加"是一个常见的操作,特别是在构建类似资源管理器的界面或处理文件系统目录结构时。递归是一种强大的编程技术,它允许函数调用自身来解决复杂的问题,特别适合处理具有层级关系的数据...

    递归求二叉树Data结点之和

    java啊 二叉树建立,用递归与非递归的方法求结点之和

Global site tag (gtag.js) - Google Analytics