在面試中我們經常遇到這個題目:php遍歷一個文件夾下的所有文件和子文件夾。
這個題目有好多種解決方法。但大致思路都一樣。采用遞歸。
- $path = ./filepath;
- function getfiles($path)
- {
- if(!is_dir($path)) return;
- $handle = opendir($path);
- while( false !== ($file = readdir($handle)))
- {
- if($file != . && $file!=..)
- {
- $path2= $path./.$file;
- if(is_dir($path2))
- {
- echo
- ;
- echo $file;
- getfiles($path2);
- }else
- {
- echo
- ;
- echo $file;
- }
- }
- }
- }
- print_r( getfiles($path));
- echo
- <HR>;
- function getdir($path)
- {
- if(!is_dir($path)) return;
- $handle = dir($path);
- while($file=$handle->read())
- {
- if($file!=. && $file!=..)
- {
- $path2 = $path./.$file;
- if(is_dir($path2))
- {
- echo $file." ";
- getdir($path2);
- }else
- {
- echo $file.
- ;
- }
- }
- }
- }
- getdir($path);
- echo
- <HR>;
- function get_dir_scandir(