Class Folder
Folder structure browser, lists folders and files. Provides an Object interface for Common directory related tasks.
Copyright: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
License: MIT License
Location: Cake/Utility/Folder.php
Constants summary
-
string
'merge'
-
string
'overwrite'
-
string
'skip'
-
string
'name'
-
string
'time'
Properties summary
-
$_directories
protectedHolds array of complete directory paths.array
-
$_errors
protectedHolds errors from last method.array
-
$_files
protectedHolds array of complete file paths.array
-
$_fsorts
protectedFunctions array to be called depending on the sort type chosen.array
-
$_messages
protectedHolds messages from last method.array
-
$mode
publicMode to be used on create. Does nothing on Windows platforms.integer
-
$path
publicPath to Folder.string
-
$sort
publicboolean
Sortedness. Whether or not list results should be sorted by name.
Method Summary
- __construct() publicConstructor.
- _findRecursive() protectedPrivate helper function for findRecursive.
- Returns $path with $element added, with correct slash in-between.
- cd() publicChange directory to $path.
- chmod() publicChange the mode on a directory structure recursively. This includes changing the mode on files as well.
- copy() publicRecursive directory copy.
- Returns a correct set of slashes for given $path. (\ for Windows paths and / for other paths.)
- create() publicCreate a directory structure recursively.
- delete() publicRecursively Remove directories if the system allows.
- dirsize() publicReturns the size in bytes of this Folder and its contents.
- errors() publicget error from latest method
- find() publicReturns an array of all matching files in current directory.
- findRecursive() publicReturns an array of all matching files in and below current directory.
- inCakePath() publicReturns true if the Folder is in the given Cake path.
- inPath() publicReturns true if the Folder is in the given path.
- Returns true if given $path is an absolute path.
- Returns true if given $path is a registered stream wrapper.
- Returns true if given $path ends in a slash (i.e. is slash-terminated).
- Returns true if given $path is a Windows path.
- messages() publicget messages from latest method
- move() publicRecursive directory move.
- Returns a correct set of slashes for given $path. (\ for Windows paths and / for other paths.)
- pwd() publicReturn current path.
- read() public
Returns an array of the contents of the current directory. The returned array holds two arrays: One of directories and one of files.
- realpath() publicGet the real path (taking ".." and such into account)
- Returns $path with added terminating slash (corrected for Windows or other OS).
- tree() publicReturns an array of nested directories and files in each directory
Method Detail
__construct()source public
__construct( string $path false , boolean $create false , string|boolean $mode false )
Constructor.
Parameters
- string
$path
optional false - Path to folder
- boolean
$create
optional false - Create folder if not found
- string|boolean
$mode
optional false - Mode (CHMOD) to apply to created folder, false to ignore
Link
https://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder_findRecursive()source protected
_findRecursive( string $pattern , boolean $sort false )
Private helper function for findRecursive.
Parameters
- string
$pattern
- Pattern to match against
- boolean
$sort
optional false - Whether results should be sorted.
Returns
arrayFiles matching pattern
addPathElement()source public static
addPathElement( string $path , string|array $element )
Returns $path with $element added, with correct slash in-between.
Parameters
- string
$path
- Path
- string|array
$element
- Element to add at end of path
Returns
stringCombined path
Link
https://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::addPathElementcd()source public
cd( string $path )
Change directory to $path.
Parameters
- string
$path
- Path to the directory to change to
Returns
stringThe new path. Returns false on failure
Link
https://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::cdchmod()source public
chmod( string $path , integer $mode false , boolean $recursive true , array $exceptions array() )
Change the mode on a directory structure recursively. This includes changing the mode on files as well.
Parameters
- string
$path
- The path to chmod.
- integer
$mode
optional false - Octal value, e.g. 0755.
- boolean
$recursive
optional true - Chmod recursively, set to false to only change the current directory.
- array
$exceptions
optional array() - Array of files, directories to skip.
Returns
booleanSuccess.
Link
https://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::chmodcopy()source public
copy( array|string $options )
Recursive directory copy.
Options
-
to
The directory to copy to. -
from
The directory to copy from, this will cause a cd() to occur, changing the results of pwd(). -
mode
The mode to copy the files/directories with as integer, e.g. 0775. -
skip
Files/directories to skip. -
scheme
Folder::MERGE, Folder::OVERWRITE, Folder::SKIP
Parameters
- array|string
$options
- Either an array of options (see above) or a string of the destination directory.
Returns
booleanSuccess.
Link
https://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::copycorrectSlashFor()source public static
correctSlashFor( string $path )
Returns a correct set of slashes for given $path. (\ for Windows paths and / for other paths.)
Parameters
- string
$path
- Path to check
Returns
stringSet of slashes ("\" or "/")
Link
https://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::correctSlashForcreate()source public
create( string $pathname , integer $mode false )
Create a directory structure recursively.
Can be used to create deep path structures like /foo/bar/baz/shoe/horn
Parameters
- string
$pathname
The directory structure to create. Either an absolute or relative path. If the path is relative and exists in the process' cwd it will not be created. Otherwise relative paths will be prefixed with the current pwd().
- integer
$mode
optional false - octal value 0755
Returns
booleanReturns TRUE on success, FALSE on failure
Link
https://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::createdelete()source public
delete( string $path null )
Recursively Remove directories if the system allows.
Parameters
- string
$path
optional null - Path of directory to delete
Returns
booleanSuccess
Link
https://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::deletedirsize()source public
dirsize( )
Returns the size in bytes of this Folder and its contents.
Returns
integersize in bytes of current folder
Link
https://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::dirsizeerrors()source public
errors( boolean $reset true )
get error from latest method
Parameters
- boolean
$reset
optional true - Reset error stack after reading
Returns
arrayLink
https://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::errorsfind()source public
find( string $regexpPattern '.*' , boolean $sort false )
Returns an array of all matching files in current directory.
Parameters
- string
$regexpPattern
optional '.*' - Preg_match pattern (Defaults to: .*)
- boolean
$sort
optional false - Whether results should be sorted.
Returns
arrayFiles that match given pattern
Link
https://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::findfindRecursive()source public
findRecursive( string $pattern '.*' , boolean $sort false )
Returns an array of all matching files in and below current directory.
Parameters
- string
$pattern
optional '.*' - Preg_match pattern (Defaults to: .*)
- boolean
$sort
optional false - Whether results should be sorted.
Returns
arrayFiles matching $pattern
Link
https://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::findRecursiveinCakePath()source public
inCakePath( string $path '' )
Returns true if the Folder is in the given Cake path.
Parameters
- string
$path
optional '' - The path to check.
Returns
booleanLink
https://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::inCakePathinPath()source public
inPath( string $path '' , boolean $reverse false )
Returns true if the Folder is in the given path.
Parameters
- string
$path
optional '' - The absolute path to check that the current
pwd()
resides within. - boolean
$reverse
optional false - Reverse the search, check if the given
$path
resides within the currentpwd()
.
Returns
booleanThrows
InvalidArgumentExceptionWhen the given
$path
argument is not an absolute path.Link
https://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::inPathisAbsolute()source public static
isAbsolute( string $path )
Returns true if given $path is an absolute path.
Parameters
- string
$path
- Path to check
Returns
booleantrue if path is absolute.
Link
https://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::isAbsoluteisRegisteredStreamWrapper()source public static
isRegisteredStreamWrapper( string $path )
Returns true if given $path is a registered stream wrapper.
Parameters
- string
$path
- Path to check
Returns
bootrue If path is registered stream wrapper.
isSlashTerm()source public static
isSlashTerm( string $path )
Returns true if given $path ends in a slash (i.e. is slash-terminated).
Parameters
- string
$path
- Path to check
Returns
booleantrue if path ends with slash, false otherwise
Link
https://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::isSlashTermisWindowsPath()source public static
isWindowsPath( string $path )
Returns true if given $path is a Windows path.
Parameters
- string
$path
- Path to check
Returns
booleantrue if Windows path, false otherwise
Link
https://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::isWindowsPathmessages()source public
messages( boolean $reset true )
get messages from latest method
Parameters
- boolean
$reset
optional true - Reset message stack after reading
Returns
arrayLink
https://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::messagesmove()source public
move( array $options )
Recursive directory move.
Options
-
to
The directory to copy to. -
from
The directory to copy from, this will cause a cd() to occur, changing the results of pwd(). -
chmod
The mode to copy the files/directories with. -
skip
Files/directories to skip. -
scheme
Folder::MERGE, Folder::OVERWRITE, Folder::SKIP
Parameters
- array
$options
- (to, from, chmod, skip, scheme)
Returns
booleanSuccess
Link
https://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::movenormalizePath()source public static
normalizePath( string $path )
Returns a correct set of slashes for given $path. (\ for Windows paths and / for other paths.)
Parameters
- string
$path
- Path to check
Returns
stringSet of slashes ("\" or "/")
Link
https://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::normalizePathpwd()source public
pwd( )
Return current path.
Returns
stringCurrent path
Link
https://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::pwdread()source public
read( string|boolean $sort self::SORT_NAME , array|boolean $exceptions false , boolean $fullPath false )
Returns an array of the contents of the current directory. The returned array holds two arrays: One of directories and one of files.
Parameters
- string|boolean
$sort
optional self::SORT_NAME Whether you want the results sorted, set this and the sort property to false to get unsorted results.
- array|boolean
$exceptions
optional false - Either an array or boolean true will not grab dot files
- boolean
$fullPath
optional false - True returns the full path
Returns
mixedContents of current directory as an array, an empty array on failure
Link
https://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::readrealpath()source public
realpath( string $path )
Get the real path (taking ".." and such into account)
Parameters
- string
$path
- Path to resolve
Returns
stringThe resolved path
Link
https://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::realpathslashTerm()source public static
slashTerm( string $path )
Returns $path with added terminating slash (corrected for Windows or other OS).
Parameters
- string
$path
- Path to check
Returns
stringPath with ending slash
Link
https://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::slashTermtree()source public
tree( string $path null , array|boolean $exceptions false , string $type null )
Returns an array of nested directories and files in each directory
Parameters
- string
$path
optional null - the directory path to build the tree from
- array|boolean
$exceptions
optional false Either an array of files/folder to exclude or boolean true to not grab dot files/folders
- string
$type
optional null - either 'file' or 'dir'. null returns both files and directories
Returns
mixedarray of nested directories and files in each directory
Link
https://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::treeProperties detail
$_fsortssource
protected array
Functions array to be called depending on the sort type chosen.
array( self::SORT_NAME => 'getPathname', self::SORT_TIME => 'getCTime' )
$pathsource
public string
Path to Folder.
Link
https://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::$pathnull
$sortsource
public boolean
Sortedness. Whether or not list results should be sorted by name.
Link
https://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::$sortfalse
© 2005–2017 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/2.10/class-Folder.html