Класс Folder
Обозреватель структуры папок, отображает папки и файлы. Предоставляет интерфейс объекта для общих задач, связанных с каталогами.
Устаревший: 4.0.0 Будет удалён в 5.0.
Ссылка: https://book.cakephp.org/4/ru/core-libraries/file-folder.html#folder-api
Константы
-
stringMERGE'merge'
Схема по умолчанию для Folder::copy. Рекурсивно сливает подпапки с одинаковым именем.
-
stringOVERWRITE'overwrite'
Схема перезаписи для Folder::copy. Подпапки с одинаковым именем будут заменены.
-
stringSKIP'skip'
Схема пропуска для Folder::copy. Если подпапка с одинаковым именем уже существует, она будет пропущена.
-
stringSORT_NAME'name'
Режим сортировки по имени.
-
stringSORT_TIME'time'
Режим сортировки по времени.
Краткое описание свойств
- $_directories protected
arrayХранит массив полных путей к каталогам.
- $_errors protected
arrayХранит ошибки последнего метода.
- $_files protected
arrayХранит массив полных путей к файлам.
- $_fsorts protected
array<string>Массив функций, которые вызываются в зависимости от выбранного типа сортировки.
- $_messages protected
arrayХранит сообщения последнего метода.
- $mode public
intРежим, используемый при создании. Не выполняет никаких действий на платформах Windows.
- $path public
stringПуть к папке.
- $sort public
boolСортировка. Определяет, должны ли результаты списка быть отсортированы по имени.
Краткое описание методов
-
__construct() public
Конструктор.
-
_findRecursive() protected
Вспомогательная функция для findRecursive.
-
addPathElement() public static
Возвращает $path с добавленным $element, с правильным слэшем между ними.
-
cd() public
Изменить текущую директорию на $path.
-
chmod() public
Рекурсивно изменить права доступа к структуре каталога. Это также включает изменение прав на файлы.
-
copy() public
Рекурсивное копирование каталога.
-
correctSlashFor() public static
Возвращает правильный набор слэшей для заданного $path. (\ для путей Windows и / для других путей.)
-
create() public
Рекурсивно создать структуру каталога.
-
delete() public
Рекурсивно удалить каталоги, если система это позволяет.
-
dirsize() public
Возвращает размер в байтах этой папки и её содержимого.
-
errors() public
Получить ошибки от последнего метода.
-
find() public
Возвращает массив всех соответствующих файлов в текущей директории.
-
findRecursive() public
Возвращает массив всех соответствующих файлов в и ниже текущей директории.
-
inPath() public
Возвращает true, если папка находится в заданном пути.
-
isAbsolute() public static
Возвращает true, если заданный $path — это абсолютный путь.
-
isRegisteredStreamWrapper() public static
Возвращает true, если заданный $path — зарегистрированный обработчик потоков.
-
isSlashTerm() public static
Возвращает true, если заданный $path заканчивается на слэше (т.е. является завершённым слэшем).
-
isWindowsPath() public static
Возвращает true, если заданный $path — это путь Windows.
-
messages() public
Получить сообщения от последнего метода.
-
move() public
Рекурсивное перемещение каталога.
-
normalizeFullPath() public static
Возвращает правильный набор слэшей для заданного $path. (\ для путей Windows и / для других путей.)
-
pwd() public
Возвращает текущий путь.
-
read() public
Возвращает массив содержимого текущей директории. Возвращаемый массив содержит два массива: один для каталогов и один для файлов.
-
realpath() public
Получить реальный путь (учитывая ".." и т.п.)
-
slashTerm() public static
Возвращает $path с добавленным завершающим слэшем (скорректированным для Windows или других ОС).
-
subdirectories() public
Возвращает массив подкаталогов для заданного или текущего пути.
-
tree() public
Возвращает массив вложенных каталогов и файлов в каждом каталоге.
Подробное описание методов
__construct() public
__construct(string|null $path = null, bool $create = false, int|null $mode = null)
Конструктор.
Параметры
-
string|null$path необязательный Путь к папке
-
bool$create необязательный Создать папку, если она не найдена
-
int|null$mode необязательный Режим (CHMOD) для примененния к созданной папке, false для игнорирования
_findRecursive() protected
_findRecursive(string $pattern, bool $sort = false): array
Вспомогательная функция для findRecursive.
Параметры
-
string$pattern Шаблон для сопоставления
-
bool$sort необязательный Нужно ли сортировать результаты.
Возвращает
arrayaddPathElement() public static
addPathElement(string $path, array<string>|string $element): string
Возвращает $path с добавленным $element, с правильным слешем между ними.
Параметры
-
string$path Путь
-
array<string>|string$element Элемент для добавления в конец пути
Возвращает
stringcd() public
cd(string $path): string|false
Изменить директорию на $path.
Параметры
-
string$path Путь к директории, на которую нужно перейти
Возвращает
string|falsechmod() public
chmod(string $path, int|null $mode = null, bool $recursive = true, array<string> $exceptions = []): bool
Рекурсивно изменяет режим каталога. Это включает в себя изменение режима файлов тоже.
Параметры
-
string$path Путь к файлу для изменения режима.
-
int|null$mode необязательный Восьмеричное значение, например, 0755.
-
bool$recursive необязательный Рекурсивное изменение режима, установить в false, чтобы изменить только текущую директорию.
-
array<string>$exceptions необязательный Массив файлов, директорий для пропуска.
Возвращает
boolcopy() public
copy(string $to, array<string, mixed> $options = []): bool
Рекурсивное копирование каталога.
Опции
-
fromДиректория для копирования, это вызовет cd(), изменив результаты pwd(). -
modeРежим для копирования файлов/каталогов как целое число, например, 0775. -
skipФайлы/директории для пропуска. -
schemeFolder::MERGE, Folder::OVERWRITE, Folder::SKIP -
recursiveКопировать рекурсивно или нет (по умолчанию: true - рекурсивно)
Параметры
-
string$to Директория для копирования.
-
array<string, mixed>$options необязательный Массив опций (см. выше).
Возвращает
boolcorrectSlashFor() public static
correctSlashFor(string $path): string
Возвращает правильный набор слешей для заданного $path. (\ для путей Windows и / для других путей.)
Параметры
-
string$path Путь для проверки
Возвращает
stringcreate() public
create(string $pathname, int|null $mode = null): bool
Создает структуру каталогов рекурсивно.
Может быть использован для создания глубоких структур путей, таких как /foo/bar/baz/shoe/horn
Параметры
-
string$pathname Структура каталога для создания. Абсолютный или относительный путь. Если путь относительный и существует в текущем каталоге процесса, он не будет создан. В противном случае, относительные пути будут добавлены к текущему пути pwd().
-
int|null$mode необязательный восьмеричное значение 0755
Возвращает
booldelete() public
delete(string|null $path = null): bool
Рекурсивно удаляет директории, если система позволяет.
Параметры
-
string|null$path необязательный Путь к директории для удаления
Возвращает
booldirsize() public
dirsize(): int
Возвращает размер в байтах этой папки и ее содержимого.
Возвращает
interrors() public
errors(bool $reset = true): array
Получить ошибку от последнего метода
Параметры
-
bool$reset необязательный Сбросить стек ошибок после чтения
Возвращает
arrayfind() public
find(string $regexpPattern = '.*', string|bool $sort = false): array<string>
Возвращает массив всех соответствующих файлов в текущей директории.
Параметры
-
string$regexpPattern необязательный Шаблон preg_match (по умолчанию: .*)
-
string|bool$sort необязательный Нужно ли сортировать результаты.
Возвращает
array<string>findRecursive() public
findRecursive(string $pattern = '.*', string|bool $sort = false): array
Возвращает массив всех соответствующих файлов в и ниже текущей директории.
Параметры
-
string$pattern необязательный Шаблон preg_match (по умолчанию: .*)
-
string|bool$sort необязательный Нужно ли сортировать результаты.
Возвращает
arrayinPath() public
inPath(string $path, bool $reverse = false): bool
Возвращает true, если папка находится в заданном пути.
Параметры
-
string$path Абсолютный путь для проверки, что текущая
pwd()находится внутри.-
bool$reverse необязательный Обратить поиск, проверить, находится ли заданный
$pathвнутри текущейpwd().
Возвращает
boolВызывает исключение
InvalidArgumentExceptionКогда переданный аргумент `$path` не является абсолютным путём.
isAbsolute() public static
isAbsolute(string $path): bool
Возвращает true, если заданный $path является абсолютным путём.
Параметры
-
string$path Путь для проверки
Возвращает
boolisRegisteredStreamWrapper() public static
isRegisteredStreamWrapper(string $path): bool
Возвращает true, если заданный $path является зарегистрированным обработчиком потоков.
Параметры
-
string$path Путь для проверки
Возвращает
boolisSlashTerm() public static
isSlashTerm(string $path): bool
Возвращает true, если заданный $path оканчивается слешем (т.е. является путём, оканчивающимся на слеш).
Параметры
-
string$path Путь для проверки
Возвращает
boolisWindowsPath() public static
isWindowsPath(string $path): bool
Возвращает true, если заданный $path является путём Windows.
Параметры
-
string$path Путь для проверки
Возвращает
boolmessages() public
messages(bool $reset = true): array
Получить сообщения из последнего метода
Параметры
-
bool$reset необязательно Сбросить стек сообщений после чтения
Возвращает
arraymove() public
move(string $to, array<string, mixed> $options = []): bool
Рекурсивное перемещение каталога.
Опции
-
fromКаталог для копирования, что вызовет cd(), изменяя результаты pwd(). -
modeРежим копирования файлов/каталогов как целое число, например, 0775. -
skipФайлы/каталоги для пропуска. -
schemeFolder::MERGE, Folder::OVERWRITE, Folder::SKIP -
recursiveКопировать рекурсивно или нет (по умолчанию: true — рекурсивно)
Параметры
-
string$to Каталог для перемещения.
-
array<string, mixed>$options необязательно Массив опций (см. выше).
Возвращает
boolnormalizeFullPath() public static
normalizeFullPath(string $path): string
Возвращает правильный набор слешей для заданного $path. (\ для путей Windows и / для других путей.)
Параметры
-
string$path Путь для преобразования
Возвращает
stringpwd() public
pwd(): string|null
Возвращает текущий путь.
Возвращает
string|nullread() public
read(string|bool $sort = self::SORT_NAME, array|bool $exceptions = false, bool $fullPath = false): array
Возвращает массив содержимого текущей директории. Возвращаемый массив содержит два массива: один для каталогов и один для файлов.
Параметры
-
string|bool$sort необязательно Нужно ли сортировать результаты. Установите это и свойство sort в false, чтобы получить несортированные результаты.
-
array|bool$exceptions необязательно Массив или булево значение true, чтобы не включать скрытые файлы.
-
bool$fullPath необязательно True возвращает полный путь.
Возвращает
arrayrealpath() public
realpath(string $path): string|false
Получить фактический путь (учитывая "..", и т.д.)
Параметры
-
string$path Путь для разрешения
Возвращает
string|falseslashTerm() public static
slashTerm(string $path): string
Возвращает $path с добавленным заключительным слэшем (исправлено для Windows или других ОС).
Параметры
-
string$path Путь для проверки
Возвращает
stringsubdirectories() public
subdirectories(string|null $path = null, bool $fullPath = true): array
Возвращает массив подкаталогов для заданного или текущего пути.
Параметры
-
string|null$path необязательно Путь к директории, для которой требуется получить подкаталоги.
-
bool$fullPath необязательно Возвращать полный путь или только имя директории.
Возвращает
arraytree() public
tree(string|null $path = null, array|bool $exceptions = false, string|null $type = null): array
Возвращает массив вложенных каталогов и файлов в каждом каталоге
Параметры
-
string|null$path необязательно путь к каталогу, для построения дерева
-
array|bool$exceptions необязательно Массив исключаемых файлов/каталогов или boolean true, чтобы не включать скрытые файлы/каталоги
-
string|null$type необязательно либо 'file', либо 'dir'. Null возвращает как файлы, так и директории
Возвращает
arrayПодробное описание свойств
$_directories protected
Хранит массив полных путей к каталогам.
Тип
array$_errors protected
Хранит ошибки от последнего метода.
Тип
array$_files protected
Хранит массив полных путей к файлам.
Тип
array$_fsorts protected
Массив функций, которые вызываются в зависимости от выбранного типа сортировки.
Тип
array<string>$_messages protected
Хранит сообщения от последнего метода.
Тип
array$mode public
Режим, используемый при создании. Не делает ничего на платформах Windows.
Тип
int$path public
Путь к папке.
Тип
string$sort public
Сортировка. Нужно ли сортировать результаты по имени.
Тип
bool
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.4/class-Cake.Filesystem.Folder.html