其实PHP中内建函数scandir()就可以返回目录下全部文件和目录了。。。

==========================

1、使用$obj = dir($dir)返回目录对象$obj,然后使用其$obj->read()方法遍历;

 <?php
/**
* Created by PhpStorm.
* User: Zhang He
* Date: 2015/6/8
* Time: 12:21
*/
function traverseDir( $filedir ) {
//打开目录
$dir = @dir($filedir);
//列出目录中的文件
while (($file = $dir->read())!==false){
if(is_dir($filedir."/".$file) AND ($file!=".") AND ($file!="..")){
//递归遍历子目录
traverseDir($filedir."/".$file);
} else {
//输出文件完整路径
echo "filename: " .$filedir."/".$file . "<br />";
}
}
$dir->close();
}
//测试:遍历当前目录
traverseDir(".");
?>

2、先使用$obj = opendir($dir)获取对象$obj,再使用readdir($obj)遍历目录

 <?php
/**
* Created by PhpStorm.
* User: Zhang He
* Date: 2015/6/8
* Time: 12:21
*/
function traverseDir($dir){
if(is_dir($dir)){
if ($obj = opendir($dir)){
while (($file = readdir($obj)) !== false){
if((is_dir($dir."/".$file)) and $file!="." and $file!=".."){
echo "<b><font color='red'>文件名:</font></b>",$file,"<br><hr>";
traverseDir($dir."/".$file."/");
}else{
if($file!="." and $file!=".."){
echo $file."<br>";
}
}
}
closedir($obj);
}
}
}
//测试:遍历当前目录
traverseDir(".");
?>

ZH奶酪:PHP遍历目录/文件的3种方法的更多相关文章

  1. ZH奶酪:JavaScript清空数组的三种方法

    参考链接:http://snandy.iteye.com/blog/893955 方式1,length赋值为0 目前 Prototype中数组的 clear 方法和mootools库中数组的 empt ...

  2. iOS 获取文件的目录路径的几种方法 [转]

    iOS 获取文件的目录路径的几种方法 2 years ago davidzhang iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. d ...

  3. .net(C#)操作文件的几种方法汇总

    .net(C#)操作文件的几种方法汇总 System.IO命名空间下类的用法:在System.IO名称空间中包含了用于文件输入输出的主要类.File:实用类,提供许多静态方法,用于移动.复制和删除文件 ...

  4. java分享第十六天( java读取properties文件的几种方法&java配置文件持久化:static块的作用)

     java读取properties文件的几种方法一.项目中经常会需要读取配置文件(properties文件),因此读取方法总结如下: 1.通过java.util.Properties读取Propert ...

  5. MySQL命令执行sql文件的两种方法

    MySQL命令执行sql文件的两种方法 摘要:和其他数据库一样,MySQL也提供了命令执行sql脚本文件,方便地进行数据库.表以及数据等各种操作.下面笔者讲解MySQL执行sql文件命令的两种方法,希 ...

  6. 【转】 分析iOS Crash文件:符号化iOS Crash文件的3种方法

    当你的应用提交到AppStore或者各个渠道之后,请问你多久会拿到crash文件?你如何分析crash文件的呢? 上传crash文件 你的应用应当有模块能够在应用程序crash的时候上传crash信息 ...

  7. Linux下查看alert日志文件的两种方法

    --linux下查看alert日志文件的两种方法: --方法1: SQL> show parameter background_dump_dest; NAME TYPE VALUE ------ ...

  8. elf格式转换为hex格式文件的两种方法

    这周工作终于不太忙了,可以写点笔记总结一下了. 之前的文章如何在Keil-MDK开发环境生成Bin格式文件,介绍了如何在Keil开发环境使用fromelf软件,将生成的axf文件转换为bin文件,这次 ...

  9. IO流----操作文件的9种方法代码实现

    IO流----操作文件的9种方法代码实现: 1:使用字节流读写数据: 四种方式: method1:          每次读写一个字节,边读边写: /* * 复制文本文件. * * 数据源:从哪里来 ...

随机推荐

  1. CentOS系统下中文文件名乱码

    原文来自:http://www.zhukun.net/archives/7434 CentOS系统下中文文件名乱码 2014/09/01Linux运维centos.Linuxbear 从windows ...

  2. BZOJ 3876: [Ahoi2014]支线剧情 带下界的费用流

    3876: [Ahoi2014]支线剧情 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=3876 Description [故事背景] 宅 ...

  3. js解析顺序了解一下??

    我们在学习一种新事物的时候,总是知其然,而不知其所然.有些人会探究到底,有一些人会得过且过. 好了,开场白结束,直接进入正题. js不像C语言那样只要编译一次之后成.exe文件之后就不用在编译可以直接 ...

  4. PHP获取数组中奇偶数

    获取PHP数组中的奇偶数,可通过数组过滤函数array_filter(),看定义:该函数把输入数组中的每个键值传给回调函数.如果回调函数返回 true,则把输入数组中的当前键值返回结果数组中.数组键名 ...

  5. 淘宝--印风 专注于MySQL内核代码

    http://blog.csdn.net/zhaiwx1987/article/details/6113472?utm_source=jiancool

  6. Python基础教程学习(三)

    如何定义类 class ClassName(base_class[es]): "optional documentation string" static_member_decla ...

  7. [Node.js]OS模块

    摘要 Node.js有很多工具模块,比如os,path,net,dns,domain模块.这里先介绍os模块的使用方法.os模块提供了一些基本的系统操作函数. os模块 引入os模块 var os=r ...

  8. Microsoft Composition (MEF 2)

    This packages provides a version of the Managed Extensibility Framework (MEF) that is lightweight an ...

  9. VirtualBox 安装虚拟机

  10. Android 限制EditText仅仅能输入数字、限制输入类型、限制输入长度的小技巧

    准确的说让Edittext仅仅能输入数字有方法两种,都是通过xml属性设置 方法一: <EditText android:id="@+id/u_account" androi ...