PHP 入门:php 列出目录下的所有文件的代码
使用 php 的
glob
函数可以列出所有符合路径结构的文件和目录,以下从某 cms 提取出来
的函数
代码如下:
<?php
function
dir_path(
$path
) {
$path
=
str_replace
('\\', '/',
$path
);
if
(
substr
(
$path
, -1) != '/')
$path
=
$path
. '/';
return
$path
;
}
/**
*
列出目录下的所有文件
*
* @param str $path
目录
* @param str $exts
后缀
* @param array $list
路径数组
* @return array
返回路径数组
*/
function
dir_list(
$path
,
$exts
= '',
$list
=
array
()) {
$path
= dir_path(
$path
);
$files
=
glob
(
$path
. '*');
foreach
(
$files
as
$v
) {
if
(!
$exts
|| preg_match("/\.($exts)/i",
$v
)) {
$list
[] =
$v
;
if
(
is_dir
(
$v
)) {
$list
= dir_list(
$v
,
$exts
,
$list
);
}
}
}
return
$list
;
}
?>
使用方法:
代码如下:
<?php
$r
= dir_list('dir');
printf("<p>输出数据为:</p><pre>%s</pre>\n", var_export(
$r
, true));