PHP-文件目录操作

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

  思路

     1.打开目录;

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

     3.把文件名显示出来

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

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

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

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

       ——返回值:

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

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

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

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

        ——返回值:

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

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

 

 

 主要代码如下:

echo getcwd().'的文件目录树如下,目录用红色显示:
'; function fileSys($dir='./'){ //打开目录 if(is_dir($dir)){ $mydir = opendir($dir); echo '
    '; while ($filename = readdir($mydir)){ if($filename != '.' && $filename != '..'){ //echo $filename.'
    ';
    $newFile = $dir.'/'.$filename;//循环目录下文件不带“/” if (is_dir($newFile)){ echo '
  • '.$filename.'
  • '; fileSys($newFile); //调用递归遍历下级目录 }else{ echo '
  • '.$filename.'
  • '; } } } echo '
'; //关闭目录 closedir($mydir); }else{ echo '参数不是一个目录
' ; } } //调用函数 //echo getcwd().'是一个目录,目录内容如下:
';
fileSys();

 

你可能感兴趣的:(PHP-文件目录操作)