php文件操作之递归实现目录显示

<?php
function showDir($path,$lev=0){

//打开目录句柄,打开成功则返回资源,否则返回false
$fh = opendir($path);

//将资源按行取出

  while(($row = readdir($fh))!==false){

    //跳过目录为.和..,如果没有这一步,则在遍历出的目录顶部会显示.和..,即当前目录和上一级目录

    if(($row==‘.‘)||($row == ‘..‘)){
      continue;
    }

    //重复打印,用$lev来标识目录级别,是属于一级目录还是二级或者三级目录..
    echo str_repeat(‘&nbsp;&nbsp;‘,$lev),$row,‘<br>‘;

    //如果当前获取到的路径对应的文件名是一个目录,则使用递归思想继续遍历
    if((is_dir($path.‘/‘.$row))){
      showDir($path.‘/‘.$row,$lev+1);
    }
  }
  closedir($fh);
}
showDir(‘.‘);
?>

本地目录:

  

效果如下:

时间: 2024-10-29 03:57:57

php文件操作之递归实现目录显示的相关文章

文件操作-正确的遍历目录的方法

1. 看手册的例子说的 very good 在删除目录 和 遍历目录的时候要注意了,应该很少人把名字取为0吧. //  正确的遍历目录的方法 while(false !==( $file= readdir($file_path) ) ){ } //错误的遍历目录的方法 while($file=readdir($file_path)){ } 偶之前就一直使用这个错误的方法 ------------------ 全等 ===  ,不全等 :  !==    值不等,类型不等,值&类型都不等.. re

黑马程序员--Java基础学习笔记【文件操作、递归】

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 文件操作 文件和目录路径名的抽象表示形式. 成员变量 StringpathSeparator= File.pathSeparator; // 路径分隔符 System.out.println(pathSeparator); // ; Stringseparator= File.separator;// 默认名称分隔符 System.out.println(separator); // \ 构造

Python基础:Python函数、文件操作、递归

函数参数 函数参数包括位置参数,关键字参数,动态参数(*args, **args)三种. 传参的过程是形式参数的赋值. *args传入的参数是元组形式,**args传入的参数是字典形式. 示例代码如下:(这部分直接看代码实例会更清楚静态参数与动态参数如何混用) 1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 # def story(**kwargs): 4 # return 'Once upon a time,there was a ' 5

Linux下C编程-----IO/文件操作 模拟linux ls程序显示文件系统树形结构(2)

Linux下的IO/文件操作练习,知识虽然简单 但是往往基础容易被忽略,偶尔的练习是有必要的. 练习printf /************************************************************************* > File Name: printf.c > Author: > Mail: > Created Time: Wed 11 Feb 2015 01:08:15 AM PST ***********************

linux目录操作及递归遍历目录

目录相关函数介绍 //mkdir 函数创建目录 #include <sys/stat.h> #include <sys/types.h> int mkdir(const char *pathname, mode_t mode); //rmdir 删除目录 #include <unistd.h> int rmdir(const char *pathname); //dopendir/fdopendir  //打开目录 DIR是一个结构体,是一个内部结构,用来存储读取目录的

python成长之路第三篇(4)_作用域,递归,模块,内置模块(os,ConfigParser,hashlib),with文件操作

打个广告欢迎加入linux,python资源分享群群号:478616847 目录: 1.作用域 2.递归 3.模块介绍 4.内置模块-OS 5.内置模块-ConfigParser 6.内置模块-hashlib 7.with文件操作 代码执行环境默认为3.5.1 一.作用域 (1)什么是作用域,官方来说作用域就是就是有不同的命名空间,就像下面的代码一样,a=1它的作用域是全局的,也在全局的命名空间当中,当函数 action中的a=2它就在局部的作用域中,也在局部的命名空间当中. a = 1def

PHP核心编程--目录操作(包含文件操作)

一.目录操作 1.    创建目录 创建目录mkdir(目录名称)  //返回值为布尔 一次性创建主目录及其子目录 判断是不是一个目录is_dir  //返回true,false 判断目录或文件是否存在file_exists  //返回值为布尔 返回路径中的目录部分 dirname 2.    打开目录, opendir — 打开目录句柄 opendir(目录路径) //返回的是一个目录句柄. readdir(目标句柄)  //读取目录中的条目,  目录名为零的处理 //目录名中文的处理 ico

Linux 目录和文件操作

Linux常用命令--目录和文件操作 [目录]删除.复制.移动 : 1.删除文件夹用:rmdir 文件夹名 但是rmdir不能删除非空的文件夹,那如何删除非空文件夹呢: 2.通常情况下,删除文件用:rm 文件名    -d或--directory 直接把欲删除的目录的硬连接数据删成0,删除该目录. -f或--force 强制删除文件或目录. -i或--interactive 删除既有文件或目录之前先询问用户. -r或-R或--recursive 递归处理,将指定目录下的所有文件及子目录一并处理.

Objective-C文件和目录操作,IOS文件操作,NSFileManager使用文件操作

转自 http://blog.csdn.net/swingpyzf/article/details/15185767 objective-c通过使用NSFileManager类来管理和操作文件.目录,NSFileManager,文件或目录是使用文件的路径名的唯一标示.每个路径名都是一个NSString对象. NSFileManager对象通过defaultManager方法来创建实例 列如: NSFileManager *fm = [NSFileManager defaultManager];