wpseek.com
				A WordPress-centric search engine for devs and theme authors
			list_files › WordPress Function
Since2.6.0
Deprecatedn/a
› list_files ( $folder = '', $levels = 100, $exclusions = array(), $include_hidden = false )
| Parameters: (4) | 
 | 
| Returns: | 
 | 
| Defined at: | 
 | 
| Codex: | |
| Change Log: | 
 | 
Returns a listing of all files in the specified folder and all subdirectories up to 100 levels deep.
The depth of the recursiveness can be controlled by the $levels param.Source
function list_files( $folder = '', $levels = 100, $exclusions = array(), $include_hidden = false ) {
	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 ( ( ! $include_hidden && '.' === $file[0] ) || in_array( $file, $exclusions, true ) ) {
				continue;
			}
			if ( is_dir( $folder . $file ) ) {
				$files2 = list_files( $folder . $file, $levels - 1, array(), $include_hidden );
				if ( $files2 ) {
					$files = array_merge( $files, $files2 );
				} else {
					$files[] = $folder . $file . '/';
				}
			} else {
				$files[] = $folder . $file;
			}
		}
		closedir( $dir );
	}
	return $files;
}