# list_files()

URL: https://chugunov.pro/api-wordpress/functions/list_files/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 2.6.0.

## Сигнатура

```php
list_files( string $folder = '', int $levels = 100, string[] $exclusions = array(), bool $include_hidden = false ): string[]|false
```

## Описание

Глубину рекурсии можно задать параметром $levels.

## Параметры

- `$folder` `string` — необязательный, по умолчанию `''`. Полный путь к папке.
- `$levels` `int` — необязательный, по умолчанию `100`. Число уровней вложенности папок для обхода. По умолчанию 100 (ограничение цикла PHP).
- `$exclusions` `string[]` — необязательный, по умолчанию `array()`. Список папок и файлов, которые нужно пропустить.
- `$include_hidden` `bool` — необязательный, по умолчанию `false`. Включать ли сведения о скрытых файлах (с префиксом «.»).

## Возвращаемое значение

`string[]|false`

## Исходный код

Файл: `wp-admin/includes/file.php:139`

```php
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;
}
```

## История изменений

- 6.3.0 — Added the $include_hidden parameter.
- 4.9.0 — Added the $exclusions parameter.
- 2.6.0 — Introduced.

## Связанные

Использует: [`list_files`](https://chugunov.pro/api-wordpress/functions/list_files/), [`trailingslashit`](https://chugunov.pro/api-wordpress/functions/trailingslashit/).
Используется в: [`wp_privacy_delete_old_export_files`](https://chugunov.pro/api-wordpress/functions/wp_privacy_delete_old_export_files/), [`get_plugin_files`](https://chugunov.pro/api-wordpress/functions/get_plugin_files/), [`list_files`](https://chugunov.pro/api-wordpress/functions/list_files/).

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/list_files/
