在面試中我們經常遇到這個題目:PHP遍歷一個文件夾下的所有文件和子文件夾。
這個題目有好多種解決方法,但大致思路都一樣,采用遞歸。
-
- /**
- *
- * PHP遍歷輸出一個文件夾下的所有文件
- *
- * @param String $path
- */
- public function dir_file($path){
- if(is_file($path)){
- echo $path;
- }
- if(!is_dir($path)){
- return false;
- }
- $handle = opendir($path);
- while(false !== ($foldeordir = readdir($handle))){
- if($foldeordir != "." && $foldeordir != ".."){
- if(is_dir($path."/".$foldeordir)){
- $this->dir_file("{$path}/{$foldeordir}");
- }elseif(is_file("{$path}/{$foldeordir}")){
- echo $foldeordir;
- }
- }
- }
- closedir($handle);
- }