用php实现遍历目录

  用php实现的遍历目录,只遍历第一层,如果制作在线文件管理器的话很管用,不同目录只加一个超链接就行了,然后给方法传递参数就行了,遍历目录的类如下:

 1 class Ergodic{
 2     public function dir($path){
 3         //遍历目录第一层
 4         $handle=opendir($path);    //打开目录
 5         while (($item=readdir($handle))!==false) {
 6             //循环遍历目录
 7             if($item!=‘.‘&&$item!=‘..‘){
 8                 if (is_file ( $path . "/" . $item )) {
 9                     $arr [‘file‘] [] = $item;
10                 }
11                 if (is_dir ( $path . "/" . $item )) {
12                     $arr [‘dir‘] [] = $item;
13                 }
14             }
15         }
16         closedir($handle);
17         return $arr;
18     }
19 }

这个类中的dir()方法返回一个数组$arr,这个数组就包括我们需要的所有文件名和目录名了,使用方法也很简单,看一下:

 1 $dir=new Ergodic();
 2 $path="resource";
 3 $arr=$dir->dir($path);
 4 echo "文件列表:<br />";
 5 if($arr[‘file‘]){
 6     foreach ($arr[‘file‘] as $key => $value) {
 7         echo ($key+1).‘&nbsp;&nbsp;‘.$value.‘<br />‘;
 8     }
 9 }
10 echo "目录列表:<br />";
11 if($arr[‘dir‘]){
12     foreach ($arr[‘dir‘] as $key => $value) {
13         echo ($key+1).‘&nbsp;&nbsp;‘.$value.‘<br />‘;
14     }
15 }

这样就可以打印出我们指定的目录遍历结果了,随便建了几个文件,放到目录resource中,测试图片如下:

时间: 2024-08-24 05:28:49

用php实现遍历目录的相关文章

Linux C语言遍历目录结构

遍历目录结构查找文件是很常用的功能,今天介绍一下使用Linux C 遍历Linux目录结构的方法: linux提供几个系统调用,以便于直接目录的读取和操作: DIR * opendir(const char * pathname); struct dirent * readdir(DIR * dir_handle); int closedir(DIR * dir); int stat(const char *file_name, struct stat *buf); #include <unis

遍历目录下的所有文件-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

C/C++ 遍历目录文件,默认目录下

每次遇到这样的问题总会折腾很久,到网上搜,或者查资料,弄了很多次,但就是没记住,这次写程序又遇到了,干脆就把它都弄清楚了,然后顺便在这里记录一下,以后再遇到就不用到处去找了. 用 C/C++ 遍历目录文件主要有两种方式,分别对应在 Windows VS 环境下和 Linux\Unix 环境下的方法,它们各自所使用的函数如下: (Windows VS)_findfirst, _findnext, _findclose (Linux\Unix)opendir, readdir, closedir 下

lua在linxu和windows系统下的遍历目录的方法

在windows下遍历目录使用lfs库:例如遍历整个目录下的所有文件 local lfs = require "lfs" function findPathName(path)  local fileTbl = {}  for file in lfs.dir(path) do   if file ~= "." and file ~= ".." then     fileTbl[#fileTbl + 1] = file   end  end  re

php无限遍历目录

使用的函数有: isset()判断某个变量是否定义 chdir() 将当前目录改变为指定的目录. opendir() 打开目录. readdir()读取目录. getcwd().获取当前目录. 还用到了for  if  GET传值 大概就这些东东: 下面是代码: <?php if(isset($_GET['id']))//判断是否传值 { $s=str_replace(' ','+',$_GET['id']); $s=base64_decode($s);//接受传递的值 值一般是要打开的目录的绝

可编译为 UNICODE 和 ANSI 版本的遍历目录树程序_0.1

路径暂时是写死的 编译两个版本的程序: g++  treeT.cpp -municode -D_UNICODE -o treeT_UNIg++  treeT.cpp -o treeT_ASC 为了观察ANSI版在遍历文件夹如果遇到Unicode字符会发生什么情况而写来作对比的 他们都可以接收终端传送的中文字符 ANSI版: opendir/readdir 遍历目录遇到 UNICODE字符的时候会出问题 UNICODE版: 输出到stdout的时候,值>128 的UNICODE字符丢失 改为 Wr

遍历目录中所有文件并统计信息

遍历目录中所有文件,并且统计文件类型. #!/bin/bash #filename: filestat.sh #set -x if [ $# -ne 1 ]; then     echo $0 basepath;    echo fi path=$1 declare -A statarray; while read line; do   ftype=`file -b "$line"`   let statarray["$ftype"]++; done< <

递归的使用:遍历目录函数

2016.12.21,星期三   利用递归输出显示C盘中所有的文件及文件夹: <?php //遍历目录 function wenJian($path,$v = 0) {// $path = "."; //打开目录 $a = opendir($path) ; //读取目录,readdir(资源名(通道)) // $b = readdir($a); //$b=readdir($a)外面的括号必须加上,"="赋值运算符运算等级小于"!=="比较运

php 递归和非递归遍历目录下的所有文件

//php 递归实现遍历 用dir 返回对象 <?    function loop($dir){  $mydir =dir($dir);    //以对象的形式访问     while($file = $mydir ->read()){                         //目录中有隐藏文件'.'和'..' 遍历的时候需要注意             if((is_dir("$dir/$file")) && ($file!=".&q

递归降序遍历目录层次结构

在学习APUE第4章时候,里面编写了一段递归顺序遍历目录层次的结构的代码,该代码实现了递归访问目录.但是该代码并没有显示降序的方式显示目录树. 因此,我讲代码稍微修改,使其能够按照tree命令的方式显示,同时也统计了各个文件的数量. #include<iostream> #include<cstring> #include<vector> #include<dirent.h> #include<unistd.h> #include<algo