CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Reporting Security Issues
    • Privacy Policy
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Get Involved
    • Issues (GitHub)
    • Bakery
    • Featured Resources
    • Training
    • Meetups
    • My CakePHP
    • CakeFest
    • Newsletter
    • Linkedin
    • YouTube
    • Facebook
    • Twitter
    • Mastodon
    • Help & Support
    • Forum
    • Stack Overflow
    • Slack
    • Paid Support
CakePHP

C CakePHP 2.5 API

  • Overview
  • Tree
  • Deprecated
  • Version:
    • 2.5
      • 4.2
      • 4.1
      • 4.0
      • 3.9
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

Packages

  • Cake
    • Cache
      • Engine
    • Configure
    • Console
      • Command
        • Task
    • Controller
      • Component
        • Acl
        • Auth
    • Core
    • Error
    • Event
    • I18n
    • Log
      • Engine
    • Model
      • Behavior
      • Datasource
        • Database
        • Session
      • Validator
    • Network
      • Email
      • Http
    • Routing
      • Filter
      • Route
    • TestSuite
      • Coverage
      • Fixture
      • Reporter
    • Utility
    • View
      • Helper

Classes

  • CakeNumber
  • CakeTime
  • ClassRegistry
  • Debugger
  • File
  • Folder
  • Hash
  • Inflector
  • ObjectCollection
  • Sanitize
  • Security
  • Set
  • String
  • Validation
  • Xml

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
Location: Cake/Utility/Folder.php

Constants summary

  • string
    MERGE ¶
    'merge'
  • string
    OVERWRITE ¶
    'overwrite'
  • string
    SKIP ¶
    'skip'

Properties summary

  • $_directories protected
    array
    Holds array of complete directory paths.
  • $_errors protected
    array
    Holds errors from last method.
  • $_files protected
    array
    Holds array of complete file paths.
  • $_messages protected
    array
    Holds messages from last method.
  • $mode public
    integer
    Mode to be used on create. Does nothing on windows platforms.
  • $path public
    string
    Path to Folder.
  • $sort public
    boolean

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

Method Summary

  • __construct() public
    Constructor.
  • _findRecursive() protected
    Private helper function for findRecursive.
  • 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.
  • 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 , 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

_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
array
Files matching pattern

addPathElement() 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

cd() 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

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, 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

copy() 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

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
string
Set of slashes ("\" or "/")
Link
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::correctSlashFor

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. 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

delete() 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

dirsize() 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

errors() public ¶

errors( boolean $reset = true )

get error from latest method

Parameters
boolean $reset optional true
Reset error stack after reading
Returns
array
Link
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::errors

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
array
Files that match given pattern
Link
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::find

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
array
Files matching $pattern
Link
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::findRecursive

inCakePath() public ¶

inCakePath( string $path = '' )

Returns true if the File is in a given CakePath.

Parameters
string $path optional ''
The path to check.
Returns
boolean
Link
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::inCakePath

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
Reverse the search, check that pwd() resides within $path.
Returns
boolean
Link
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::inPath

isAbsolute() 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

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

isWindowsPath() 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

messages() public ¶

messages( boolean $reset = true )

get messages from latest method

Parameters
boolean $reset optional true
Reset message stack after reading
Returns
array
Link
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::messages

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.
  • 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

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
string
Set of slashes ("\" or "/")
Link
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::normalizePath

pwd() 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

read() 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

realpath() 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

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
string
Path with ending slash
Link
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::slashTerm

tree() 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

Properties detail

$_directories ¶

protected array

Holds array of complete directory paths.

$_errors ¶

protected array

Holds errors from last method.

array()

$_files ¶

protected array

Holds array of complete file paths.

$_messages ¶

protected array

Holds messages from last method.

array()

$mode ¶

public integer

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

0755

$path ¶

public string

Path to Folder.

Link
http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::$path
null

$sort ¶

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
OpenHub
Rackspace
Rackspace
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Reporting Security Issues
  • Privacy Policy
  • Logos & Trademarks
  • Community
  • Get Involved
  • Issues (GitHub)
  • Bakery
  • Featured Resources
  • Training
  • Meetups
  • My CakePHP
  • CakeFest
  • Newsletter
  • Linkedin
  • YouTube
  • Facebook
  • Twitter
  • Mastodon
  • Help & Support
  • Forum
  • Stack Overflow
  • Slack
  • Paid Support

Generated using CakePHP API Docs