函数原型
list_files( string $folder = ”, int $levels = 100, string[] $exclusions = array() ): string[]|false
函数描述
Returns a listing of all files in the specified folder and all subdirectories up to 100 levels deep.
是否弃用
未弃用
函数参数
-
$folder
string
Optional - Full path to folder.
Default:
'' -
$levels
int
Optional - Levels of folders to follow, Default 100 (PHP Loop limit).
Default:
100 -
$exclusions
string[]
Optional - List of folders and files to skip.
Default:
array()
函数返回值
string[]|false Array of files on success, false on failure.
函数位置
File: wp-admin/includes/file.php.
函数源码
function list_files( $folder = '', $levels = 100, $exclusions = array() ) {
if ( empty( $folder ) ) {
return false;
}
$folder = trailingslashit( $folder );
if ( ! $levels ) {
return false;
}
$files = array();
$dir = @opendir( $folder );
if ( $dir ) {
while ( ( $file = readdir( $dir ) ) !== false ) {
// Skip current and parent folder links.
if ( in_array( $file, array( '.', '..' ), true ) ) {
continue;
}
// Skip hidden and excluded files.
if ( '.' === $file[0] || in_array( $file, $exclusions, true ) ) {
continue;
}
if ( is_dir( $folder . $file ) ) {
$files2 = list_files( $folder . $file, $levels - 1 );
if ( $files2 ) {
$files = array_merge( $files, $files2 );
} else {
$files[] = $folder . $file . '/';
}
} else {
$files[] = $folder . $file;
}
}
closedir( $dir );
}
return $files;
}
源码链接
变更日志
| Version | Description |
|---|---|
| 4.9.0 | Added the $exclusions parameter. |
| 2.6.0 | Introduced. |

