看到很多面试题有这个,今天有机会写了一下。
要注意的是:
在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); ?>