PHP-文件目录操作

Posted 莫欺_少年穷

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();

 

以上是关于PHP-文件目录操作的主要内容,如果未能解决你的问题,请参考以下文章

VSCODE 片段 PHP 自动填充命名空间

在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途

php代码片段: sendFile/videoStream/sendEmail/phpexcel/ffmpeg/zip

用php 进行对文件的操作 (上)

PHP文件操作基本代码

VSCode自定义代码片段——git命令操作一个完整流程