方法一:使用dir()遍历目录

  dir()函数,成功时返回Directory类实例

  PHP dir() 语法格式为:

  dir(directory);//directory为需要显示文件名的目录名称,可包含路径信息

  PHP dir() 用法举例:列出upload目录下的所有文件名:

 代码如下  
<?php
$dir = @ dir("upload");//打开upload目录;“@”可屏蔽错误信息,因有时候需要显示文件的目录内并没有文件,此时可能会报出错误,用“@”隐藏掉错误
//列举upload目录中的所有文件
while (($file = $dir->read()) !== false)
{
  echo "文件名: " . $file . "<br />";
}
$dir->close();
?>

  输出结果为:

  文件名: .

  文件名: ..

  文件名: logo.gif

  文件名: arrow.gif

  文件名: bg.gif

  例子

 代码如下  
function tree($dir)
{
    $mydir = dir($dir);
    while($file = $mydir->read())
    {
        if($file != '.' && $file != '..')
        {
            if(is_dir("$dir/$file"))
            {
                echo '目录名:'.$dir.DIRECTORY_SEPARATOR.'<font color="red">'.$file.'</font><br />';
                tree("$dir/$file");
            }else{
                echo '文件名:'.$dir.DIRECTORY_SEPARATOR.$file.'<br />';
            }
        }
    }
    $mydir->close();
}
tree('./phpmyadmin');

  方法二 使用readir()遍历目录

  定义和用法

  readdir() 函数返回由 opendir() 打开的目录句柄中的条目。

  若成功,则该函数返回一个文件名,否则返回 false。

  语法

  readdir(dir_stream)

  例子

 代码如下  
header('content-type:text/html;charset=utf-8');

function listDir($dir)
{
    if(is_dir($dir))
    {
        if($handle = opendir($dir))
        {
            while($file = readdir($handle))
            {
                if($file != '.' && $file != '..')
                {
                    if(is_dir($dir.DIRECTORY_SEPARATOR.$file))
                    {
                        echo '目录名:'.$dir.DIRECTORY_SEPARATOR.'<font color="red">'.$file.'</font><br />';
                        listDir($dir.DIRECTORY_SEPARATOR.$file);
                    }else{
                        echo '文件名:'.$dir.DIRECTORY_SEPARATOR.$file.'<br />';
                    }
                }
            }
        }
        closedir($handle);
    }else{
        echo '非有效目录!';
    }
}
listDir('./phpmyadmin');

(转)PHP自定义遍历目录下所有文件dir(),readdir()函数的更多相关文章

  1. [PHP]PHP自定义遍历目录下所有文件的方法

    header('content-type:text/html;charset=utf-8');/** *   方法一:使用readir()遍历目录 */function listDir($dir){  ...

  2. Python遍历目录下所有文件的最后一行进行判断若错误及时邮件报警-案例

    遍历目录下所有文件的最后一行进行判断若错误及时邮件报警-案例: #-*- encoding: utf-8 -*- __author__ = 'liudong' import linecache,sys ...

  3. (实用篇)PHP不用递归遍历目录下所有文件的代码

    <?php /** * PHP 非递归实现查询该目录下所有文件 * @param unknown $dir * @return multitype:|multitype:string */ fu ...

  4. Java精选笔记_IO流【File(文件)类、遍历目录下的文件、删除文件及目录】

    File(文件)类 File类用于封装一个路径,该路径可以是从系统盘符开始的绝对路径,也可以是相对于当前目录而言的相对路径 File类内部封装的路径可以指向一个文件,也可以指向一个目录,在使用File ...

  5. Linux和Windows的遍历目录下所有文件的方法对比

    首先两者读取所有文件的方法都是采用迭代的方式,首先用函数A的返回值判断目录下是否有文件,然后返回值合法则在循环中用函数B直到函数B的返回值不合法为止.最后用函数C释放资源. 1.打开目录 #inclu ...

  6. PHP遍历目录下的文件夹和文件 以及遍历文件下内容

    1.遍历目录下的文件夹和文件: public function bianli1($dir) { $files = array(); if($head = opendir($dir)) { while( ...

  7. Python递归遍历目录下所有文件

    #自定义函数: import ospath="D:\\Temp_del\\a"def gci (path): """this is a stateme ...

  8. shell编程--遍历目录下的文件

    假定目录text下有如下文件      目录:dir_1.dir_2.dir_3 文件:text_1.text_2 遍历目录下所有的文件是目录还是文件 if -- if类型: #!bin/sh for ...

  9. Java遍历目录下全部文件并替换指定字符串

    应用场景:比方有一个深层次的文件目录结构,如:javaAPI 每一个文件中面都有同样的内容,而我们要统一改动为其它内容.上千个文件假设一个个改动显得太不明智. import java.io.Buffe ...

随机推荐

  1. java 线程​基本概念 可见性 同步

    开发高性能并发应用不是一件容易的事情.这类应用的例子包括高性能Web服务器.游戏服务器和搜索引擎爬虫等.这样的应用可能需要同时处理成千上万个请求.对于这样的应用,一般采用多线程或事件驱动的架构.对于J ...

  2. delphi XML 原来可以玩接口

    以下代码旨在 脱离TXMLDocument 操作 xml unit Unit3; interface uses Windows, Messages, SysUtils, Variants, Class ...

  3. Palindrome(最长公共子序列)

    Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 48526   Accepted: 16674 Description A p ...

  4. 【图片处理】ImageMagick, gm

    ImageMagick: Convert, Edit, Or Compose Bitmap Images http://www.imagemagick.org/script/binary-releas ...

  5. 数学(线性规划): ZJOI2013 防守战线

    偷懒用的线性规划. #include <iostream> #include <cstring> #include <cstdio> using namespace ...

  6. 生成树的计数(基尔霍夫矩阵):UVAoj 10766 Organising the Organisation SPOJ HIGH - Highways

    HIGH - Highways   In some countries building highways takes a lot of time... Maybe that's because th ...

  7. WPF之插件开发

    一:解决方案管理器截图 效果图: 二:简单功能说明 IMsg定义了一个接口,MYPlugin1实现接口功能,”插件式开发“实现程序运行时再调用非本身引用的dll文件,调用该dll的方法实现功能 三:I ...

  8. SQL中ISNULL的使用

    在敲写相关sql语句时,我们经常会遇到一些空的字符串或者是字段,这就给我们对数据库造成一定的麻烦,系统经常会提示“某值null不能转换”“插入的值不能为空”等等诸如此类的提示,isnull函数会帮助你 ...

  9. [基础] 重载的时候什么时候用引用&

    一般返回值还要继续被处理,而不仅仅是得到其值的时候,返回引用& 一般有[], =, ++, --, 还有输入输出运算符<<, >> Classtype &ope ...

  10. 从cpu加电到加载OS内核的详细过程(清华大学ucore-lab1总结一)

    结合最近学习清华的OS课,先用“人话”来高度抽象的描述一下我自己的理解.CPU在系统加电也就是我们按下电源开关后,开始初始化他的寄存器,主要是cs和eip(本文基于x86架构),然后在ROM中找到一个 ...