PHP目录遍历程序代码,将显示指定目录下的所有文件和文件夹,并列出这些文件,最后统计出文件总数。使用的PHP函数有is_dir、closedir、scan_dir等。
本代码比较准确,可判断目录下的是文件还是目录<?php
//功能:遍历指定目录下所有文件
function scan_dir($dir_name,$dir_flag=1) {
static $FILE_COUNT=1;//记录文件数目 初值为1
$FILE_COUNT--;//每调用一次scan_dir()函数自减1
@$dir_handle=opendir($dir_name);//禁止错误信息显示,这样有利于自定义错误显示
if(!$dir_handle)die("目录打开失败!");
while(false!==($filename=readdir($dir_handle))){//文件名为'0'时,readdir返回FALSE,判断返回值是否不全等
$flag=$dir_flag;
//当$filename不存在或者不是目录时返回false
if($filename!='.'&&$filename!='..'){
$FILE_COUNT++;//不记录当前路径和上一级路径
while($flag>0&&--$flag) //负数仍为真
echo ' ';
if(is_dir($dir_name.$filename)){//判断是否是目录
echo ''."".$filename."
";
scan_dir($dir_name.$filename.'/',$dir_flag+1);//$dir_flag标志目录树层次
}
else echo "".$filename."
";
}
}
closedir($dir_handle);//关闭目录句柄
echo "一共有文件(含目录):".$FILE_COUNT.'个
';
}
scan_dir("other");
?>