Класс Folder
Обозреватель структуры папок, перечисляет папки и файлы. Предоставляет интерфейс объекта для общих задач, связанных с каталогами.
Ссылка: https://book.cakephp.org/3.0/ru/core-libraries/file-folder.html#folder-api
Расположение: Filesystem/Folder.php
Краткое описание констант
-
stringMERGE'merge' -
stringOVERWRITE'overwrite' -
stringSKIP'skip' -
stringSORT_NAME'name' -
stringSORT_TIME'time'
Краткое описание свойств
-
$_directoriesprotectedСодержит массив полных путей к каталогам.array -
$_errorsprotectedСодержит ошибки от последнего метода.array -
$_filesprotectedСодержит массив полных путей к файлам.array -
$_fsortsprotectedМассив функций, которые нужно вызвать в зависимости от выбранного типа сортировки.array -
$_messagesprotectedСодержит сообщения от последнего метода.array -
$modepublicРежим, который используется при создании. Ничего не делает на платформах Windows.integer -
$pathpublicПуть к папке.string -
$sortpublicbooleanСортировка. Нужно ли сортировать результаты списка по имени.
Краткое описание методов
- __construct() publicКонструктор.
- _findRecursive() protectedВспомогательная приватная функция для findRecursive.
- Возвращает $path с добавленным $element, с правильным слэшем между ними.
- cd() publicИзменить текущий каталог на $path.
- chmod() publicИзменить режим структуры каталогов рекурсивно. Это включает изменение режима для файлов также.
- copy() publicРекурсивное копирование каталога.
- Возвращает правильный набор слэшей для данного $path. (\ для путей Windows и / для других путей).
- create() publicРекурсивно создать структуру каталога.
- delete() publicРекурсивно удалить каталоги, если система позволяет.
- dirsize() publicВозвращает размер в байтах этой папки и её содержимого.
- errors() publicПолучить ошибки от последнего метода
- find() publicВозвращает массив всех соответствующих файлов в текущем каталоге.
- findRecursive() publicВозвращает массив всех соответствующих файлов в текущем и подкаталогах.
- Возвращает true, если папка находится в заданном пути Cake.
- inPath() publicВозвращает true, если папка находится в заданном пути.
- Возвращает true, если заданный $path является абсолютным путём.
- Возвращает true, если заданный $path является зарегистрированным обработчиком потоков.
- Возвращает true, если заданный $path заканчивается слэшем (т.е. имеет завершающий слэш).
- Возвращает true, если заданный $path является путём Windows.
- messages() publicПолучить сообщения от последнего метода.
- move() publicРекурсивное перемещение каталога.
- Возвращает правильный набор слэшей для данного $path. (\ для путей Windows и / для других путей).
- Возвращает правильный набор слэшей для данного $path. (\ для путей Windows и / для других путей).
- pwd() publicВозвратить текущий путь.
- read() public
Возвращает массив содержимого текущего каталога. Возвращаемый массив содержит два массива: один для каталогов и один для файлов.
- realpath() publicПолучить реальный путь (учитывая "..", и т.п.)
- Возвращает $path с добавленным завершающим слэшем (исправленный для Windows или других ОС).
- subdirectories() publicВозвращает массив подкаталогов для указанного или текущего пути.
- tree() publicВозвращает массив вложенных каталогов и файлов в каждом каталоге
Подробное описание методов
__construct()source public
__construct( string|null $path = null , boolean $create = false , integer|false $mode = false )
Конструктор.
Параметры
- string|null
$pathнеобязательно null - Путь к папке
- boolean
$createнеобязательно false - Создать папку, если она не найдена
- integer|false
$modeнеобязательно false - Режим (CHMOD) для применения к созданной папке, false для игнорирования
_findRecursive()source protected
_findRecursive( string $pattern , boolean $sort = false )
Вспомогательная приватная функция для findRecursive.
Параметры
- string
$pattern - Шаблон для сопоставления
- boolean
$sortнеобязательно false - Сортировать результаты.
Возвращаемое значение
массивФайлы, соответствующие шаблону
addPathElement()source public static
addPathElement( string $path , string|array $element )
Возвращает $path с добавленным $element, с правильным косой чертой между ними.
Параметры
- строка
$path - Путь
- строка|массив
$element - Элемент, добавляемый в конец пути
Возвращает
строкуОбъединённый путь
cd()source public
cd( string $path )
Изменить текущую директорию на $path.
Параметры
- строка
$path - Путь к директории, на которую нужно перейти
Возвращает
строка|логическое значениеНовый путь. Возвращает false при неудаче
chmod()source public
chmod( string $path , integer|boolean $mode = false , boolean $recursive = true , array $exceptions = [] )
Рекурсивно изменить права доступа к структуре директорий. Это включает в себя изменение прав доступа к файлам также.
Параметры
- строка
$path - Путь, для которого нужно изменить права доступа.
- целое число|логическое значение
$modeнеобязательно false - Восьмеричное значение, например 0755.
- логическое значение
$recursiveнеобязательно true - Рекурсивное изменение прав доступа, установите в false, чтобы изменить только текущую директорию.
- массив
$exceptionsнеобязательно [] - Массив файлов, директорий, которые нужно пропустить.
Возвращает
логическое значениеУспех.
copy()source public
copy( array|string $options )
Рекурсивное копирование директорий.
Параметры
-
toДиректория, в которую нужно скопировать. -
fromДиректория, из которой нужно скопировать, это вызовет cd(), изменив результат pwd(). -
modeПрава доступа к копируемым файлам/директориям в виде целого числа, например 0775. -
skipФайлы/директории, которые нужно пропустить. -
schemeFolder::MERGE, Folder::OVERWRITE, Folder::SKIP -
recursiveНужно ли копировать рекурсивно (по умолчанию: true - рекурсивно)
Параметры
- массив|строка
$options - Либо массив параметров (см. выше), либо строка с целевой директорией.
Возвращает
логическое значениеУспех.
correctSlashFor()source public static
correctSlashFor( string $path )
Возвращает правильный набор слешей для данного $path. (\ для путей Windows и / для других путей.)
Параметры
- строка
$path - Путь для проверки
Возвращает
строкаНабор слешей ("\" или "/")
create()source public
create( string $pathname , integer|boolean $mode = false )
Создать структуру директорий рекурсивно.
Может использоваться для создания глубоких структур путей, таких как /foo/bar/baz/shoe/horn
Параметры
- строка
$pathname Структура директорий для создания. Абсолютный или относительный путь. Если путь относительный и существует в текущем рабочем каталоге процесса, он не будет создан. В противном случае относительные пути будут префиксрованы текущим pwd().
- целое число|логическое значение
$modeнеобязательно false - восьмеричное значение 0755
Возвращает
логическое значениеВозвращает TRUE при успехе, FALSE при ошибке
delete()source public
delete( string|null $path = null )
Рекурсивно удалить директории, если система это позволяет.
Параметры
- строка|null
$pathнеобязательно null - Путь к директории для удаления
Возвращает
логическое значениеУспех
dirsize()source public
dirsize( )
Возвращает размер в байтах этой директории и её содержимого.
Возвращает
целое числоРазмер в байтах текущей директории
errors()source public
errors( boolean $reset = true )
Получить ошибку из последнего метода
Параметры
- логическое значение
$resetнеобязательно true - Сбросить стек ошибок после чтения
Возвращает
массивfind()source public
find( string $regexpPattern = '.*' , boolean $sort = false )
Возвращает массив всех соответствующих файлов в текущей директории.
Параметры
- строка
$regexpPatternнеобязательно '.*' - Шаблон preg_match (по умолчанию: .*)
- логическое значение
$sortнеобязательно false - Нужно ли сортировать результаты.
Возвращает
массивФайлы, соответствующие заданному шаблону
findRecursive()source public
findRecursive( string $pattern = '.*' , boolean $sort = false )
Возвращает массив всех соответствующих файлов в и ниже текущей директории.
Параметры
- строка
$patternнеобязательно '.*' - Шаблон preg_match (по умолчанию: .*)
- логическое значение
$sortнеобязательно false - Нужно ли сортировать результаты.
Возвращает
массивФайлы, соответствующие шаблону $pattern
inCakePath()source public deprecated
inCakePath( string $path = '' )
Возвращает true, если папка находится в заданном пути Cake.
Устарело
3.2.12 Этот метод будет удалён в версии 4.0.0. Используйте вместо него inPath().Параметры
- строка
$pathнеобязательно '' - Путь для проверки.
Возвращает
логическое значениеinPath()source public
inPath( string $path , boolean $reverse = false )
Возвращает true, если папка находится в заданном пути.
Параметры
- строка
$path - Абсолютный путь для проверки, что текущая
pwd()находится внутри него. - логическое значение
$reverseнеобязательно false - Инвертировать поиск, проверить, если данный
$pathнаходится внутри текущейpwd().
Возвращает
логическое значениеИсключения
InvalidArgumentExceptionКогда переданный аргумент
$path не является абсолютным путём.isAbsolute()source public static
isAbsolute( string $path )
Возвращает true, если данный $path является абсолютным путём.
Параметры
- строка
$path - Путь для проверки
Возвращает
логическое значениеtrue, если путь абсолютный.
isRegisteredStreamWrapper()source public static
isRegisteredStreamWrapper( string $path )
Возвращает true, если данный $path является зарегистрированным обработчиком потоков.
Параметры
- строка
$path - Путь для проверки
Возвращает
логическое значениеTrue, если путь зарегистрирован как обработчик потоков.
isSlashTerm()source public static
isSlashTerm( string $path )
Возвращает true, если данный $path заканчивается на косой чертой (т.е. является путём, оканчивающимся на косую черту).
Параметры
- строка
$path - Путь для проверки
Возвращает
логическое значениеtrue, если путь заканчивается на косую черту, иначе false
isWindowsPath()source public static
isWindowsPath( string $path )
Возвращает true, если заданный $path является путем Windows.
Параметры
- строка
$path - Путь для проверки
Возвращает
booleantrue, если путь Windows, иначе false
messages()source public
messages( boolean $reset = true )
Получить сообщения из последнего метода
Параметры
- boolean
$resetнеобязательно true - Сбросить стек сообщений после чтения
Возвращает
массивmove()source public
move( array|string $options )
Рекурсивное перемещение каталога.
Опции
-
toКаталог для перемещения. -
fromКаталог для перемещения, это приведет к выполнению cd(), изменяя результаты pwd(). -
chmodРежим копирования файлов/каталогов. -
skipФайлы/каталоги, которые нужно пропустить. -
schemeFolder::MERGE, Folder::OVERWRITE, Folder::SKIP -
recursiveРекурсивно копировать или нет (по умолчанию: true - рекурсивно)
Параметры
- массив|строка
$options - (to, from, chmod, skip, scheme)
Возвращает
booleanУспех
normalizeFullPath()source public static
normalizeFullPath( string $path )
Возвращает правильный набор слешей для заданного $path. (\ для путей Windows и / для других путей.)
Параметры
- строка
$path - Путь для преобразования
Возвращает
строкаПуть с правильным набором слешей ("\" или "/")
normalizePath()source public static deprecated
normalizePath( string $path )
Возвращает правильный набор слешей для заданного $path. (\ для путей Windows и / для других путей.)
Устаревшее
3.7.0 Этот метод будет удален в 4.0.0. Используйте correctSlashFor() вместо него.Параметры
- строка
$path - Путь для проверки
Возвращает
строкаНабор слешей ("\" или "/")
read()source public
read( string|boolean $sort = self::SORT_NAME , array|boolean $exceptions = false , boolean $fullPath = false )
Возвращает массив содержимого текущей директории. Возвращаемый массив содержит два массива: один для каталогов и один для файлов.
Параметры
- строка|boolean
$sortнеобязательно self::SORT_NAME Нужно ли сортировать результаты, установите это и свойство sort в false, чтобы получить несортированные результаты.
- массив|boolean
$exceptionsнеобязательно false - Массив или boolean true не будут извлекать скрытые файлы.
- boolean
$fullPathнеобязательно false - True возвращает полный путь.
Возвращает
массивСодержимое текущей директории как массив, пустой массив при ошибке
realpath()source public
realpath( string $path )
Получить реальный путь (учитывая "..", и т. п.)
Параметры
- строка
$path - Путь для разрешения
Возвращает
строка|falseРазрешенный путь
slashTerm()source public static
slashTerm( string $path )
Возвращает $path с добавленным завершающим слэшем (исправлен для Windows или других ОС).
Параметры
- строка
$path - Путь для проверки
Возвращает
строкаПуть с окончательным слэшем
subdirectories()source public
subdirectories( string|null $path = null , boolean $fullPath = true )
Возвращает массив подкаталогов для заданного или текущего пути.
Параметры
- строка|null
$pathнеобязательно null - Путь к каталогу для получения подкаталогов.
- boolean
$fullPathнеобязательно true - Возвращать полный путь или только имя каталога.
Возвращает
массивМассив подкаталогов для заданного или текущего пути.
tree()source public
tree( string|null $path = null , array|boolean $exceptions = false , string|null $type = null )
Возвращает массив вложенных каталогов и файлов в каждом каталоге
Параметры
- строка|null
$pathнеобязательно null - путь к каталогу для построения дерева
- массив|boolean
$exceptionsнеобязательно false Массив файлов/каталогов для исключения или boolean true для не извлечения скрытых файлов/каталогов
- строка|null
$typeнеобязательно null - либо 'file', либо 'dir'. Null возвращает и файлы, и каталоги
Возвращает
массивМассив вложенных каталогов и файлов в каждом каталоге
Подробное описание свойств
$_fsortssource
protected массив
Массив функций, которые будут вызываться в зависимости от выбранного типа сортировки.
[
self::SORT_NAME => 'getPathname',
self::SORT_TIME => 'getCTime'
] $modesource
public целое число
Режим, который будет использоваться при создании. Не делает ничего на платформах Windows.
0755
© 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/3.7/class-Cake.Filesystem.Folder.html