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. (http://cakefoundation.org)
License: MIT License
Located at Cake/Utility/Folder.php
Method Detail
__constructsource public
__construct( string $path false , boolean $create false , string|boolean $mode false )
Constructor.
Parameters
- string
$pathoptional false - Path to folder
- boolean
$createoptional false - Create folder if not found
- string|boolean
$modeoptional false - Mode (CHMOD) to apply to created folder, false to ignore
Link
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder_findRecursivesource protected
_findRecursive( string $pattern , boolean $sort false )
Private helper function for findRecursive.
Parameters
- string
$pattern - Pattern to match against
- boolean
$sortoptional false - Whether results should be sorted.
Returns
arrayFiles matching pattern
addPathElementsource 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
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::addPathElementcdsource 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
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::cdchmodsource 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
$modeoptional false - Octal value, e.g. 0755.
- boolean
$recursiveoptional true - Chmod recursively, set to false to only change the current directory.
- array
$exceptionsoptional array() - Array of files, directories to skip.
Returns
booleanSuccess.
Link
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::chmodcopysource public
copy( array|string $options )
Recursive directory copy.
Options
-
toThe directory to copy to. -
fromThe directory to copy from, this will cause a cd() to occur, changing the results of pwd(). -
modeThe mode to copy the files/directories with as integer, e.g. 0775. -
skipFiles/directories to skip. -
schemeFolder::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
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::copycorrectSlashForsource 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
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::correctSlashForcreatesource 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
$modeoptional false - octal value 0755
Returns
booleanReturns TRUE on success, FALSE on failure
Link
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::createdeletesource public
delete( string $path null )
Recursively Remove directories if the system allows.
Parameters
- string
$pathoptional null - Path of directory to delete
Returns
booleanSuccess
Link
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::deletedirsizesource public
dirsize( )
Returns the size in bytes of this Folder and its contents.
Returns
integersize in bytes of current folder
Link
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::dirsizeerrorssource public
errors( boolean $reset true )
get error from latest method
Parameters
- boolean
$resetoptional true - Reset error stack after reading
Returns
arrayarray
Link
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::errorsfindsource public
find( string $regexpPattern '.*' , boolean $sort false )
Returns an array of all matching files in current directory.
Parameters
- string
$regexpPatternoptional '.*' - Preg_match pattern (Defaults to: .*)
- boolean
$sortoptional false - Whether results should be sorted.
Returns
arrayFiles that match given pattern
Link
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::findfindRecursivesource public
findRecursive( string $pattern '.*' , boolean $sort false )
Returns an array of all matching files in and below current directory.
Parameters
- string
$patternoptional '.*' - Preg_match pattern (Defaults to: .*)
- boolean
$sortoptional false - Whether results should be sorted.
Returns
arrayFiles matching $pattern
Link
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::findRecursiveinCakePathsource public
inCakePath( string $path '' )
Returns true if the File is in a given CakePath.
Parameters
- string
$pathoptional '' - The path to check.
Returns
booleanbool
Link
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::inCakePathinPathsource public
inPath( string $path '' , boolean $reverse false )
Returns true if the File is in given path.
Parameters
- string
$pathoptional '' - The path to check that the current pwd() resides with in.
- boolean
$reverseoptional false - Reverse the search, check that pwd() resides within $path.
Returns
booleanbool
Link
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::inPathisAbsolutesource 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
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::isAbsoluteisRegisteredStreamWrappersource 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.
isSlashTermsource 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
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::isSlashTermisWindowsPathsource 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
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::isWindowsPathmessagessource public
messages( boolean $reset true )
get messages from latest method
Parameters
- boolean
$resetoptional true - Reset message stack after reading
Returns
arrayarray
Link
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::messagesmovesource public
move( array $options )
Recursive directory move.
Options
-
toThe directory to copy to. -
fromThe directory to copy from, this will cause a cd() to occur, changing the results of pwd(). -
chmodThe mode to copy the files/directories with. -
skipFiles/directories to skip. -
schemeFolder::MERGE, Folder::OVERWRITE, Folder::SKIP
Parameters
- array
$options - (to, from, chmod, skip, scheme)
Returns
booleanSuccess
Link
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::movenormalizePathsource 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
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::normalizePathpwdsource public
pwd( )
Return current path.
Returns
stringCurrent path
Link
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::pwdreadsource public
read( boolean $sort true , 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
- boolean
$sortoptional true - Whether you want the results sorted, set this and the sort property to false to get unsorted results.
- array|boolean
$exceptionsoptional false - Either an array or boolean true will not grab dot files
- boolean
$fullPathoptional false - True returns the full path
Returns
mixedContents of current directory as an array, an empty array on failure
Link
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::readrealpathsource public
realpath( string $path )
Get the real path (taking ".." and such into account)
Parameters
- string
$path - Path to resolve
Returns
stringThe resolved path
Link
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::realpathslashTermsource 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
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::slashTermtreesource 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
$pathoptional null - the directory path to build the tree from
- array|boolean
$exceptionsoptional false - Either an array of files/folder to exclude or boolean true to not grab dot files/folders
- string
$typeoptional null - either 'file' or 'dir'. null returns both files and directories
Returns
mixedarray of nested directories and files in each directory
Link
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::treeConstants summary
string | MERGE Default scheme for Folder::copy Recursively merges subfolders with the same name | 'merge' |
string | OVERWRITE Overwrite scheme for Folder::copy subfolders with the same name will be replaced | 'overwrite' |
string | SKIP Skip scheme for Folder::copy if a subfolder with the same name exists it will be skipped | 'skip' |
Properties summary
© 2005–2016 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.
http://api.cakephp.org/2.7/class-Folder.html