初心者のための簡単な質問で、私の 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」を返す必要があります。
私は次のことをまとめましたが、正しい答えを返していません。その理由はわかりません:
function getFilecount( $path = '.', $filecount = 0, $total = 0 ){ $ignore = array( 'cgi-bin', '.', '..', '.DS_Store' ); $dh = @opendir( $path ); while( false !== ( $file = readdir( $dh ) ) ){ if( !in_array( $file, $ignore ) ){ if( is_dir( "$path/$file" ) ){ $filecount = count(glob( "$path/$file/" . "*")); $total += $filecount; エコー $filecount; /* デバッグ */ echo "$total"; /* デバッグ */ echo " $path/$file
"; /* デバッグ */ getFilecount( "$path/$file", $filecount, $total); } } } $合計を返します。 }
助けていただければ幸いです。