list_files

函式
list_files ( $folder = '', $levels = 100, $exclusions = array() )
引數
  • (string) $folder Optional. Full path to folder. Default empty.
    Required:
    Default: (empty)
  • (int) $levels Optional. Levels of folders to follow, Default 100 (PHP Loop limit).
    Required:
    Default: 100
  • (string[]) $exclusions Optional. List of folders and files to skip.
    Required:
    Default: array()
返回值
  • (string[]|false) Array of files on success, false on failure.
定義位置
相關方法
wp_list_filtervalidate_filewp_list_widgetslist_catsis_single
引入
2.6.0
棄用
-

list_files: 這是WordPress中的一個函式,顯示一個目錄中的檔案列表。你可以在你的主題或外掛中使用這個函式來顯示一個指定目錄中的檔案列表,並可以選擇按檔案型別或其他標準進行過濾。

返回指定資料夾和所有子目錄中的所有檔案的列表,最深為100層。

遞迴的深度可以由 $levels 引數控制。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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;
}
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; }
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;
}

常見問題

FAQs
檢視更多 >