php 递归读取目录

看到很多面试题有这个,今天有机会写了一下。

要注意的是:

在opendir这个函数用完后,要注意closedir,因为安全问题,打开的目录依然存在于内存中,在并发情况下最好关闭,不然容易被破坏。

<?php 

   

   function readFileFromDir($dir)

   {

       if(!is_dir($dir))

         return false;

       $handle=opendir($dir);          //打开目录

       while(($file=readdir($handle))!==false)

       {

            

           if($file=='.'||$file=='..')

           {

              continue;

           }

           $file=$dir.DIRECTORY_SEPARATOR.$file;

           if(is_file($file))                 //是文件就输出

           {

              print $file.'<br/>';

           }

           elseif(is_dir($file))

           {

           

             readFileFromDir($file);          //递归查询

           }

       }

       closedir($dir);                 //关闭目录

   }

   $dir='/home/renbiao/图片';

   readFileFromDir($dir);



?> 

  

你可能感兴趣的:(PHP)