zoukankan      html  css  js  c++  java
  • PHP-文件目录操作

        使用递归遍历指定文件目录及其子目录下的所有文件

      思路

         1.打开目录;

         2.遍历目录,判断是否还是目录。是目录则返回第1步,不是目录进入第三步;

         3.把文件名显示出来

      使用到的文件目录操作函数

          1.getcwd():获取当前工作目录;

          2.is_dir():检查指定的文件是否是目录;

          3.opendir():打开目录句柄

           ——返回值:

                  成功则返回目录句柄资源。失败则返回 FALSE;

               如果路径不是合法目录,或者由于许可限制或文件系统错误导致的目录不能打开,则抛出 E_WARNING 级别的错误;

               可以通过在函数名称前添加 '@' 来隐藏 opendir() 的错误输出。

         4.readdir():返回目录中下一个文件的文件名

            ——返回值:

                 若成功则返回条目名称(文件名),失败则返回 FALSE

        5.closedir():关闭目录句柄

     主要代码如下:

    echo getcwd().'的文件目录树如下,目录用红色显示:<br />';
    function fileSys($dir='./'){
        //打开目录
        if(is_dir($dir)){
            
            $mydir = opendir($dir);
            echo '<ul>';
            while ($filename = readdir($mydir)){
                if($filename != '.' && $filename != '..'){
                     //echo $filename.'<br />';
                     $newFile = $dir.'/'.$filename;//循环目录下文件不带“/”
                     if (is_dir($newFile)){
                         echo '<li><font color="red">'.$filename.'</font></li>';
                         fileSys($newFile);        //调用递归遍历下级目录
                     }else{
                         echo '<li>'.$filename.'</li>';
                     }
                }
            }
            echo '</ul>';
            
            //关闭目录
            closedir($mydir);
        }else{
            echo '参数不是一个目录<br />'   ;
        }
        
    }
    
    
    //调用函数
    //echo getcwd().'是一个目录,目录内容如下:<br />';
    fileSys();
  • 相关阅读:
    14.6.1 Creating InnoDB Tables 创建InnoDB 表:
    mysql iot 主键自增列问题
    mysql iot 主键自增列问题
    perl 定义post接口
    perl 定义post接口
    [置顶] 一步步构建大型网站架构
    [置顶] 一步步构建大型网站架构
    技术人员如何面试
    技术人员如何面试
    技术人员如何面试
  • 原文地址:https://www.cnblogs.com/jytblog/p/7347477.html
Copyright © 2011-2022 走看看