PHP は冗長なコードなしでフォルダーを完全に走査します
パラメータ 2
0 ディレクトリ内のファイルを返します
1 ディレクトリ内のファイル + ディレクトリを返します
2 ディレクトリ内のすべてのファイル + 空のディレクトリを返します (一部のカテゴリ 2 用に開発された、ヘッダーが不適切です - _-b)
3 ディレクトリ内のすべてのファイルに戻ります
4 ディレクトリ内のすべてのファイル + ディレクトリに戻ります
5 ディレクトリ内のすべてのディレクトリに戻ります
6 ディレクトリ内のディレクトリに戻ります
何も言わずにコードに直接進みます
function get_dir( $a, $s = 0, $d = array( '.', '..' ), $f = array() ) { foreach ( scandir( $a ) as $g ) { if ( !in_array( $g, $d ) ) { $g = $a . '/' . $g; if ( $s > 0 && is_dir( $g ) ) { ( $s == 1 || $s > 3 || ( $s == 2 && count( scandir( $g ) ) == 2 ) ) && $f[] = $g . '/'; $s > 1 && $s < 6 && $f = get_dir( $g, $s, $d, $f ); } else { ( ( $s && $s < 5 ) || ( !$s && is_file( $g ) ) ) && $f[] = $g; }; }; }; return $f; }