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