Class Folder

Folder structure browser, lists folders and files. Provides an Object interface for Common directory related tasks.

Package: Cake\Utility
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 $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

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 $sort optional false
Whether results should be sorted.

Returns

array
Files 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

string
Combined path

Link

http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::addPathElement

cdsource public

cd( string $path )

Change directory to $path.

Parameters

string $path
Path to the directory to change to

Returns

string
The new path. Returns false on failure

Link

http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::cd

chmodsource 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

boolean
Success.

Link

http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::chmod

copysource 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

boolean
Success.

Link

http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::copy

correctSlashForsource 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

string
Set of slashes ("\\" or "/")

Link

http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::correctSlashFor

createsource 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

boolean
Returns TRUE on success, FALSE on failure

Link

http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::create

deletesource public

delete( string $path null )

Recursively Remove directories if the system allows.

Parameters

string $path optional null
Path of directory to delete

Returns

boolean
Success

Link

http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::delete

dirsizesource public

dirsize( )

Returns the size in bytes of this Folder and its contents.

Returns

integer
size in bytes of current folder

Link

http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::dirsize

errorssource public

errors( boolean $reset true )

get error from latest method

Parameters

boolean $reset optional true
Reset error stack after reading

Returns

array
array

Link

http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::errors

findsource 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

array
Files that match given pattern

Link

http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::find

findRecursivesource 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

array
Files matching $pattern

Link

http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::findRecursive

inCakePathsource public

inCakePath( string $path '' )

Returns true if the File is in a given CakePath.

Parameters

string $path optional ''
The path to check.

Returns

boolean
bool

Link

http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::inCakePath

inPathsource 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
Reverse the search, check that pwd() resides within $path.

Returns

boolean
bool

Link

http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::inPath

isAbsolutesource public static

isAbsolute( string $path )

Returns true if given $path is an absolute path.

Parameters

string $path
Path to check

Returns

boolean
true if path is absolute.

Link

http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::isAbsolute

isRegisteredStreamWrappersource public static

isRegisteredStreamWrapper( string $path )

Returns true if given $path is a registered stream wrapper.

Parameters

string $path
Path to check

Returns

boo
true 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

boolean
true if path ends with slash, false otherwise

Link

http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::isSlashTerm

isWindowsPathsource public static

isWindowsPath( string $path )

Returns true if given $path is a Windows path.

Parameters

string $path
Path to check

Returns

boolean
true if Windows path, false otherwise

Link

http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::isWindowsPath

messagessource public

messages( boolean $reset true )

get messages from latest method

Parameters

boolean $reset optional true
Reset message stack after reading

Returns

array
array

Link

http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::messages

movesource 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

boolean
Success

Link

http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::move

normalizePathsource 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

string
Set of slashes ("\\" or "/")

Link

http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::normalizePath

pwdsource public

pwd( )

Return current path.

Returns

string
Current path

Link

http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::pwd

readsource 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 $sort optional true
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

mixed
Contents 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::read

realpathsource public

realpath( string $path )

Get the real path (taking ".." and such into account)

Parameters

string $path
Path to resolve

Returns

string
The resolved path

Link

http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::realpath

slashTermsource public static

slashTerm( string $path )

Returns $path with added terminating slash (corrected for Windows or other OS).

Parameters

string $path
Path to check

Returns

string
Path with ending slash

Link

http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::slashTerm

treesource 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

mixed
array of nested directories and files in each directory

Link

http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::tree

Constants 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

$_directoriessource

protected array

Holds array of complete directory paths.

$_errorssource

protected array

Holds errors from last method.

array()

$_filessource

protected array

Holds array of complete file paths.

$_messagessource

protected array

Holds messages from last method.

array()

$modesource

public integer

Mode to be used on create. Does nothing on Windows platforms.

0755

$sortsource

public boolean

Sortedness. Whether or not list results should be sorted by name.

Link

http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::$sort
false

© 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