PHP遍历一个文件夹下的所有目录及文件


在面试中我们经常遇到这个题目:PHP遍历一个文件夹下的所有文件和子文件夹。

这个题目有好多种解决方法,但大致思路都一样,采用递归。

  1. /** 
  2.      *  
  3.      * PHP遍历输出一个文件夹下的所有文件 
  4.      *  
  5.      * @param String $path 
  6.      */  
  7.     public function dir_file($path){  
  8.         if(is_file($path)){  
  9.             echo $path;  
  10.         }  
  11.         if(!is_dir($path)){  
  12.             return false;  
  13.         }  
  14.         $handle = opendir($path);  
  15.         while(false !== ($foldeordir = readdir($handle))){  
  16.             if($foldeordir != "." && $foldeordir != ".."){  
  17.                 if(is_dir($path."/".$foldeordir)){  
  18.                     $this->dir_file("{$path}/{$foldeordir}");  
  19.                 }elseif(is_file("{$path}/{$foldeordir}")){  
  20.                     echo $foldeordir;  
  21.                 }  
  22.             }  
  23.         }  
  24.         closedir($handle);  
  25.     }  

相关内容