一个新手的简单问题,我的 Google-Fu 让我失望了。使用 PHP,您如何计算给定目录中的文件数,包括任何子目录(以及它们可能拥有的任何子目录等)?例如,如果目录结构如下所示:
/Dir_A/ /Dir_A/File1.blah /Dir_A/Dir_B/ /Dir_A/Dir_B/File2.blah /Dir_A/Dir_B/File3.blah /Dir_A/Dir_B/Dir_C/ /Dir_A/Dir_B/Dir_C/File4.blah /Dir_A/Dir_D/ /Dir_A/Dir_D/File5.blah
对于“./Dir_A”,脚本应返回“5”。
我拼凑了以下内容,但并没有完全返回正确的答案,我不确定为什么:
函数 getFilecount($path = '.', $filecount = 0, $total = 0){ $ignore = array('cgi-bin', '.', '..', '.DS_Store' ); $dh = @opendir( $path ); 而(假!==($file=readdir($dh))){ if( !in_array( $file, $ignore ) ){ if(is_dir("$path/$file")){ $filecount = count(glob("$path/$file/" . "*")); $total += $filecount; 回声$文件计数;/* 调试 */ 回声“$总计”;/* 调试 */ 回声“$路径/$文件
”;/* 调试 */ getFilecount("$path/$file", $filecount, $total); } } } 返回$总计; }
我将不胜感激任何帮助。