PHP获取文件夹中的所有文件(包括子目录)
方法一:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
function tree( $directory ) { $file_arr = []; $mydir = dir( $directory ); while ( $file = $mydir ->read()) { if (( is_dir ( "$directory/$file" )) AND ( $file != "." ) AND ( $file != ".." )) { //子目录的文件合并到返回结果中 $file_arr = array_merge ( $file_arr ,tree( "$directory/$file" )); } elseif (( $file != "." ) AND ( $file != ".." )) { //此处做文件的操作... //文件添加到返回结果中(文件路径) $file_arr [] = $directory . '/' . $file ; } } $mydir ->close(); return $file_arr ; } tree( '此处填写需要遍历的文件夹路径' ); |
方法二:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
function listDir( $dir ) { $file_arr = []; if ( is_dir ( $dir )) { if ( $dh = opendir( $dir )) { while (( $file = readdir( $dh )) !== false) { if (( is_dir ( $dir . "/" . $file )) && $file != "." && $file != ".." ) { //子目录的文件合并到返回结果中 $file_arr = array_merge ( $file_arr ,listDir( "$dir/$file" )); } elseif ( $file != "." && $file != ".." ) { //文件添加到返回结果中 $file_arr [] = $dir . '/' . $file ; } } closedir ( $dh ); } } } listDir( '此处填写需要遍历的文件夹路径' ); |
本人博客地址:http://www.jsanf.com