遍历某个文件夹(目录)下的所有文件

http://www.nowamagic.net/php/php_TraversalAllFilesInDir.php

有这么一个需求,需要遍历某个文件夹(目录)下的所有文件。下面是解决这个问题所写的PHP代码,在这里记录一下。

第一种实现办法是用dir返回对象,第二种实现办法:用readdir()函数。

<?php
/**********************
一个简单的目录递归函数
第一种实现办法:用dir返回对象
***********************/
function tree($directory)
{
	$mydir = dir($directory);
	echo "<ul>\n";
	while($file = $mydir->read())
	{
		if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!=".."))
		{
			echo "<li><font color=\"#ff00cc\"><b>$file</b></font></li>\n";
			tree("$directory/$file");
		}
		else
		echo "<li>$file</li>\n";
	}
	echo "</ul>\n";
	$mydir->close();
}
//开始运行

echo "<h2>目录为粉红色</h2><br>\n";
tree("./nowamagic"); 

/***********************
第二种实现办法:用readdir()函数
************************/
function listDir($dir)
{
	if(is_dir($dir))
   	{
     	if ($dh = opendir($dir))
		{
        	while (($file = readdir($dh)) !== false)
			{
     			if((is_dir($dir."/".$file)) && $file!="." && $file!="..")
				{
     				echo "<b><font color=‘red‘>文件名:</font></b>",$file,"<br><hr>";
     				listDir($dir."/".$file."/");
     			}
				else
				{
         			if($file!="." && $file!="..")
					{
         				echo $file."<br>";
      				}
     			}
        	}
        	closedir($dh);
     	}
   	}
}
//开始运行
listDir("./nowamagic");
?>
时间: 2024-10-05 21:36:53

遍历某个文件夹(目录)下的所有文件的相关文章

【转】java 文件 读取目录下的所有文件(包括子目录)

转自:http://www.cnblogs.com/pricks/archive/2009/11/11/1601044.html import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class test { public static void main(String[] args)

用面向对象实现打印文件夹目录等相关操作

package com.study;/** * 用面向对象方法实现打印文件夹目录.输出每个文件和文件夹大小 * 计算此文件夹下共有多少个子文件夹和文件 */ import java.io.File; public class DirLength { private long len; private String path; private File src; public int getFileLength() { return fileLength; } public int getDirL

如何在linux系统下对文件夹名有空格的文件夹进行操作

http://www.2cto.com/os/201409/335119.html 在Windows操作系统中可以轻易地创建\移动\删除文件夹名带有空格的文件夹, 而在linux则需要进行一些特殊的处理才能实现以上功能. (1)创建文件夹 mkdir my\ first 这条命令创建了文件夹"my first",文件夹名中my和first之间有一个空格,在命令行中需要 添加一个"\"符号和一个空格的组合 mkdir my\ \ tow 这条命令创建了文件夹"

Linux下把文件夹复制到所有同名文件夹的脚本

需求:复制文件夹到Linux目录下,覆盖该Linux目录下所有同名文件夹 目标:Linux下,执行本脚本,输入文件夹名,即可批量复制覆盖. 使用说明: 先把本脚本文件和要复制的文件夹移到将要覆盖的Linux目录,之后执行本脚本即可. 执行命令: ./tcopy.sh 1.如果提示-bash: ./tcopy.sh: Permission denied,那要先赋给其权限: chmod +x tcopy.sh 再执行./tcopy.sh即可. 2.觉着麻烦的话 sh tcopy.sh也行. 逻辑说明

删除指定目录下的空文件夹

//删除制定目录下的所有空文件夹 //num=0 第一次遍历该文件夹 num=1 第二次遍历该文件夹 public static void ListDirectory(File file,int num)throws Exception { if(!file.exists()) { throw new IllegalArgumentException("目录"+file+"不存在"); } else if(!file.isDirectory()) { throw n

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

注:本文讨论的是怎么用Windows API遍历目录下的所有文件.除Windows API,还有一种Windows/Linux通用的方式,使用<io.h>. WIN32_FIND_DATA结构 遍历目录下的文件需要用到WIN32_FIND_DATA结构.实际上有两种结构:WIN32_FIND_DATAA和WIN32_FIND_DATAW.A和W分别代表ASCII和宽字符(Unicode).定义UNICODE宏时,WIN32_FIND_DATA指WIN32_FIND_DATAW:否则指WIN32

C#直接删除指定目录下的所有文件及文件夹(保留目录)

? ????#region 直接删除指定目录下的所有文件及文件夹(保留目录) /// <summary> /// 直接删除指定目录下的所有文件及文件夹(保留目录) /// </summary> /// <param name="strPath">文件夹路径</param> /// <returns>执行结果</returns> public bool DeleteDir(string strPath) { try

递归列出一个目录下所有的文件夹和文件

package chapter10; import java.io.File; /** * 列出一个目录下所有的文件夹和文件 * */public class TestFile02 { public static void main(String[] args) { File file = new File("E:\\av"); listFile(file); } public static void listFile(File file) { File[] files = file.

eclipse maven工程中src/main/resources目录下创建的文件夹是包图标的解决方法

如图:在src/main/resources目录下创建的文件夹却以包的图标显示  修改方法: 入下图,按顺序1 ,2,3,4操作,把3处remove,在4处添加**  修改后如下:  然后点击完成后,文件夹图标显示正常了 

(转)Unity Assets目录下的特殊文件夹名称

原文:http://wiki.unity3d.com/index.php/Special_Folder_Names_in_your_Assets_Folder 1.隐藏文件夹以.开头的文件夹会被Unity忽略.在这种文件夹中的资源不会被导入,脚本不会被编译.也不会出现在Project视图中.2.Standard Assets在这个文件夹中的脚本最先被编译.这个文件夹中的脚本会被导出到Assembly-CSharp-firstpass, Assembly-UnityScript-firstpass