Class Folder
Folder structure browser, lists folders and files. Provides an Object interface for Common directory related tasks.
Copyright: Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
License: License (http://www.opensource.org/licenses/mit-license.php)
Location: Cake/Utility/Folder.php
Properties summary
- 
			
$_directoriesprotectedarrayHolds array of complete directory paths. - 
			
$_errorsprotectedarrayHolds errors from last method. - 
			
$_filesprotectedarrayHolds array of complete file paths. - 
			
$_messagesprotectedarrayHolds messages from last method. - 
			
$modepublicintegerMode to be used on create. Does nothing on windows platforms. - 
			
$pathpublicstringPath to Folder. - 
			
$sortpublicbooleanSortedness. Whether or not list results should be sorted by name.
 
Method Summary
- 
			
__construct() public
Constructor. - 
			
_findRecursive() protected
Private helper function for findRecursive. - 
			
_tree() protected
Private method to list directories and files in each directory - 
			
addPathElement() public static
Returns $path with $element added, with correct slash in-between. - 
			
cd() public
Change directory to $path. - 
			
chmod() public
Change the mode on a directory structure recursively. This includes changing the mode on files as well. - 
			
copy() public
Recursive directory copy. - 
			
correctSlashFor() public static
Returns a correct set of slashes for given $path. (\ for Windows paths and / for other paths.) - 
			
create() public
Create a directory structure recursively. Can be used to create deep path structures like
/foo/bar/baz/shoe/horn - 
			
delete() public
Recursively Remove directories if the system allows. - 
			
dirsize() public
Returns the size in bytes of this Folder and its contents. - 
			
errors() public
get error from latest method - 
			
find() public
Returns an array of all matching files in current directory. - 
			
findRecursive() public
Returns an array of all matching files in and below current directory. - 
			
inCakePath() public
Returns true if the File is in a given CakePath. - 
			
inPath() public
Returns true if the File is in given path. - 
			
isAbsolute() public static
Returns true if given $path is an absolute path. - 
			
isSlashTerm() public static
Returns true if given $path ends in a slash (i.e. is slash-terminated). - 
			
isWindowsPath() public static
Returns true if given $path is a Windows path. - 
			
messages() public
get messages from latest method - 
			
move() public
Recursive directory move. - 
			
normalizePath() public static
Returns a correct set of slashes for given $path. (\ for Windows paths and / for other paths.) - 
			
pwd() public
Return 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() public
Get the real path (taking ".." and such into account) - 
			
slashTerm() public static
Returns $path with added terminating slash (corrected for Windows or other OS). - 
			
tree() public
Returns an array of nested directories and files in each directory 
Method Detail
__construct() public ¶
__construct( string $path = false , boolean $create = false , mixed $mode = false )
Constructor.
Parameters
- string $path optional false
 - Path to folder
 - boolean $create optional false
 - Create folder if not found
 - mixed $mode optional false
 - Mode (CHMOD) to apply to created folder, false to ignore
 
Link
_findRecursive() 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
Files matching pattern
_tree() protected ¶
_tree( string $path , mixed $exceptions )
Private method to list directories and files in each directory
Parameters
- string $path
 - The Path to read.
 - mixed $exceptions
 - Array of files to exclude from the read that will be performed.
 
addPathElement() public static ¶
addPathElement( string $path , string $element )
Returns $path with $element added, with correct slash in-between.
Parameters
- string $path
 - Path
 - string $element
 - Element to and at end of path
 
Returns
Combined path
Link
cd() public ¶
cd( string $path )
Change directory to $path.
Parameters
- string $path
 - Path to the directory to change to
 
Returns
The new path. Returns false on failure
Link
chmod() 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 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
Returns TRUE on success, FALSE on failure
Link
copy() public ¶
copy( mixed $options = array() )
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.skipFiles/directories to skip.
Parameters
- mixed $options optional array()
 - Either an array of options (see above) or a string of the destination directory.
 
Returns
Success
Link
correctSlashFor() 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
Set of slashes ("\" or "/")
Link
create() 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
 - integer $mode optional false
 - octal value 0755
 
Returns
Returns TRUE on success, FALSE on failure
Link
delete() public ¶
delete( string $path = null )
Recursively Remove directories if the system allows.
Parameters
- string $path optional null
 - Path of directory to delete
 
Returns
Success
Link
dirsize() public ¶
dirsize( )
Returns the size in bytes of this Folder and its contents.
Returns
size in bytes of current folder
Link
find() 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
Files that match given pattern
Link
findRecursive() 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
Files matching $pattern
Link
inCakePath() public ¶
inCakePath( string $path = '' )
Returns true if the File is in a given CakePath.
Parameters
- string $path optional ''
 - The path to check.
 
Returns
Link
inPath() public ¶
inPath( string $path = '' , boolean $reverse = false )
Returns true if the File is in given path.
Parameters
- string $path optional ''
 - The path to check that the current pwd() resides with in.
 - boolean $reverse optional false
 
Returns
Link
isAbsolute() public static ¶
isAbsolute( string $path )
Returns true if given $path is an absolute path.
Parameters
- string $path
 - Path to check
 
Returns
true if path is absolute.
Link
isSlashTerm() 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
true if path ends with slash, false otherwise
Link
isWindowsPath() public static ¶
isWindowsPath( string $path )
Returns true if given $path is a Windows path.
Parameters
- string $path
 - Path to check
 
Returns
true if windows path, false otherwise
Link
move() 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.
Parameters
- array $options
 - (to, from, chmod, skip)
 
Returns
Success
Link
normalizePath() 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
Set of slashes ("\" or "/")
Link
read() public ¶
read( boolean $sort = true , mixed $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 $sort optional true
 Whether you want the results sorted, set this and the sort property to false to get unsorted results.
- mixed $exceptions optional false
 - Either an array or boolean true will not grab dot files
 - boolean $fullPath optional false
 - True returns the full path
 
Returns
Contents of current directory as an array, an empty array on failure
Link
realpath() public ¶
realpath( string $path )
Get the real path (taking ".." and such into account)
Parameters
- string $path
 - Path to resolve
 
Returns
The resolved path
Link
slashTerm() public static ¶
slashTerm( string $path )
Returns $path with added terminating slash (corrected for Windows or other OS).
Parameters
- string $path
 - Path to check
 
Returns
Path with ending slash
Link
tree() public ¶
tree( string $path = null , mixed $exceptions = true , 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
 - mixed $exceptions optional true
 - Array of files to exclude, false to exclude dot files.
 - string $type optional null
 - either file or dir. null returns both files and directories
 
Returns
array of nested directories and files in each directory