zoukankan      html  css  js  c++  java
  • (转)PHP自定义遍历目录下所有文件dir(),readdir()函数

    方法一:使用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');
  • 相关阅读:
    实习工作两月
    远程mysql_java.sql.SQLException: null, message from server: "Host 'xxx' is not allowed to connect
    大学毕业后拉开差距的真正原因写给将要毕业的自己
    var nameValue=$("#"+name+"DelFlag_"+id).attr("name"); 中的nameValue是一个字符串!并非boolean值
    装饰模式
    数据结构图(非带权图)(js)
    WPF的逻辑树与视觉树(1)基本概念
    WPF的动画(2)Animation
    集合附加属性(HACK)
    WPF的逻辑树与视觉树(2)Visual容器
  • 原文地址:https://www.cnblogs.com/wanshutao/p/4482736.html
Copyright © 2011-2022 走看看