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