Class Folder
Folder structure browser, lists folders and files. Provides an Object interface for Common directory related tasks.
- Object
- Folder
Copyright: Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
License: License (http://www.opensource.org/licenses/mit-license.php)
Location: folder.php
Properties summary
-
$__directories
publicarray
Holds array of complete directory paths. -
$__errors
publicarray
Holds errors from last method. -
$__files
publicarray
Holds array of complete file paths. -
$__messages
publicarray
Holds messages from last method. -
$mode
publicinteger
Mode to be used on create. Does nothing on windows platforms. -
$path
publicstring
Path to Folder. -
$sort
publicboolean
Sortedness. Whether or not list results should be sorted by name.
Method Summary
-
__construct() public
Constructor. -
__tree() public
Private method to list directories and files in each directory -
_findRecursive() public
Private helper function for findRecursive. -
addPathElement() public
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
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
Returns true if given $path is an absolute path. -
isSlashTerm() public
Returns true if given $path ends in a slash (i.e. is slash-terminated). -
isWindowsPath() public
Returns true if given $path is a Windows path. -
messages() public
get messages from latest method -
move() public
Recursive directory move. -
normalizePath() public
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
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
Overrides
__tree() public ¶
__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.
_findRecursive() public ¶
_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
addPathElement() public ¶
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
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
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
copy() public ¶
copy( mixed $options = array() )
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.skip
Files/directories to skip.
Parameters
- mixed $options optional array()
- Either an array of options (see above) or a string of the destination directory.
Returns
Success
correctSlashFor() public ¶
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 "/")
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
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
dirsize() public ¶
dirsize( string $directory ,… )
Returns the size in bytes of this Folder and its contents.
Parameters
- string $directory ,…
- Path to directory
Returns
size in bytes of current folder
find() public ¶
find( string $regexpPattern = '.*' , boolean $sort = false )
Returns an array of all matching files in current directory.
Parameters
- string $regexpPattern optional '.*'
- $pattern Preg_match pattern (Defaults to: .*)
- boolean $sort optional false
- Whether results should be sorted.
Returns
Files that match given pattern
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
inCakePath() public ¶
inCakePath( string $path = '' )
Returns true if the File is in a given CakePath.
Parameters
- string $path optional ''
- The path to check.
Returns
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
isAbsolute() public ¶
isAbsolute( string $path )
Returns true if given $path is an absolute path.
Parameters
- string $path
- Path to check
Returns
true if path is absolute.
isSlashTerm() public ¶
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
isWindowsPath() public ¶
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
move() 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.
Parameters
- array $options
- (to, from, chmod, skip)
Returns
Success
normalizePath() public ¶
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 "/")
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
realpath() public ¶
realpath( string $path )
Get the real path (taking ".." and such into account)
Parameters
- string $path
- Path to resolve
Returns
The resolved path
slashTerm() public ¶
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
tree() public ¶
tree( string $path , mixed $exceptions = true , string $type = null )
Returns an array of nested directories and files in each directory
Parameters
- string $path
- the directory path to build the tree from
- mixed $exceptions optional true
- Array of files to exclude, defaults to excluding hidden 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
Methods inherited from Object
Object() public ¶
Object( )
A hack to support __construct() on PHP 4 Hint: descendant classes have no PHP4 class_name() constructors, so this constructor gets called first and calls the top-layer __construct() which (if present) should call parent::__construct()
Returns
__openPersistent() public ¶
__openPersistent( string $name , string $type = null )
Open the persistent class file for reading Used by Object::_persist()
Parameters
- string $name
- Name of persisted class
- string $type optional null
- Type of persistance (e.g: registry)
_persist() public ¶
_persist( string $name , string $return , $object , $type = null )
Checks for a persistent class file, if found file is opened and true returned If file is not found a file is created and false returned If used in other locations of the model you should choose a unique name for the persistent file There are many uses for this method, see manual for examples
Parameters
- string $name
- name of the class to persist
- string $return
- $object the object to persist
- $object
- $type optional null
Returns
Success
_savePersistent() public ¶
_savePersistent( string $name , object $object )
You should choose a unique name for the persistent file
There are many uses for this method, see manual for examples
Parameters
- string $name
- name used for object to cache
- object $object
- the object to persist
Returns
true on save, throws error if file can not be created
_set() public ¶
_set( array $properties = array() )
Allows setting of multiple properties of the object in a single line of code. Will only set properties that are part of a class declaration.
Parameters
- array $properties optional array()
- An associative array containing properties and corresponding values.
_stop() public ¶
_stop( $status = 0 )
Stop execution of the current script. Wraps exit() making testing easier.
Parameters
- $status optional 0
- http://php.net/exit for values
cakeError() public ¶
cakeError( string $method , array $messages = array() )
Used to report user friendly errors. If there is a file app/error.php or app/app_error.php this file will be loaded error.php is the AppError class it should extend ErrorHandler class.
Parameters
- string $method
- Method to be called in the error class (AppError or ErrorHandler classes)
- array $messages optional array()
- Message that is to be displayed by the error class
Returns
message
dispatchMethod() public ¶
dispatchMethod( string $method , array $params = array() )
Calls a method on this object with the given parameters. Provides an OO wrapper
for call_user_func_array
Parameters
- string $method
- Name of the method to call
- array $params optional array()
- Parameter list to use when calling $method
Returns
Returns the result of the method call
log() public ¶
log( string $msg , integer $type = LOG_ERROR )
Convience method to write a message to CakeLog. See CakeLog::write() for more information on writing to logs.
Parameters
- string $msg
- Log message
- integer $type optional LOG_ERROR
- Error type constant. Defined in app/config/core.php.
Returns
Success of log write
requestAction() public ¶
requestAction( mixed $url , array $extra = array() )
Calls a controller's method from any location. Can be used to connect controllers together or tie plugins into a main application. requestAction can be used to return rendered views or fetch the return value from controller actions.
Parameters
- mixed $url
- String or array-based url.
- array $extra optional array()
- if array includes the key "return" it sets the AutoRender to true.
Returns
Boolean true or false on success/failure, or contents of rendered action if 'return' is set in $extra.
toString() public ¶
toString( )
Object-to-string conversion. Each class can override this method as necessary.
Returns
The name of this class