方法一:
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( '此处填写需要遍历的文件夹路径' );
|