Horde_Vfs_Base
in package
VFS API for abstracted file storage and access.
Copyright 2002-2017 Horde LLC (http://www.horde.org/)
See the enclosed file LICENSE for license information (LGPL). If you did not receive this file, see http://www.horde.org/licenses/lgpl21.
Tags
Table of Contents
- $_credentials : array<string|int, mixed>
- List of additional credentials required for this VFS backend (example: For FTP, we need a username and password to log in to the server with).
- $_features : array<string|int, mixed>
- List of features that the VFS driver supports.
- $_params : array<string|int, mixed>
- Hash containing connection parameters.
- $_permissions : array<string|int, mixed>
- List of permissions and if they can be changed in this VFS backend.
- $_vfsSize : int
- The current size, in bytes, of the VFS tree.
- __construct() : mixed
- Constructor.
- autocreatePath() : mixed
- Automatically creates any necessary parent directories in the specified $path.
- changePermissions() : mixed
- Changes permissions for an item on the VFS.
- checkCredentials() : mixed
- Checks the credentials that we have by calling _connect(), to see if there is a valid login.
- copy() : mixed
- Copies a file through the backend.
- createFolder() : mixed
- Creates a folder in the VFS.
- delete() : mixed
- Alias to deleteFile()
- deleteFile() : mixed
- Deletes a file from the VFS.
- deleteFolder() : mixed
- Deletes a folder from the VFS.
- emptyFolder() : mixed
- Recursively remove all files and subfolders from the given folder.
- exists() : bool
- Returns if a given file or folder exists in a folder.
- getCurrentDirectory() : string
- Returns the current working directory of the VFS backend.
- getFolderSize() : int
- Returns the size of a folder.
- getModifiablePermissions() : array<string|int, mixed>
- Returns an array specifying what permissions are changeable for this VFS implementation.
- getParam() : mixed
- Returns configuration parameters.
- getQuota() : mixed
- Get quota information (used/allocated), in bytes.
- getRequiredCredentials() : array<string|int, mixed>
- Returns the list of additional credentials required, if any.
- getVFSSize() : int
- Returns the size of the VFS item.
- hasFeature() : bool
- Returns whether the drivers supports a certain feature.
- isFolder() : bool
- Checks if a given item is a folder.
- listFolder() : array<string|int, mixed>
- Returns a file list of the directory passed in.
- move() : mixed
- Moves a file through the backend.
- read() : string
- Retrieves a file from the VFS.
- readByteRange() : string
- Retrieves a part of a file from the VFS. Particularly useful when reading large files which would exceed the PHP memory limits if they were stored in a string.
- readFile() : string
- Retrieves a file from the VFS as an on-disk local file.
- rename() : mixed
- Renames a file in the VFS.
- setParams() : mixed
- Sets configuration parameters.
- setQuota() : mixed
- Sets the VFS quota limit.
- setQuotaRoot() : mixed
- Sets the VFS quota root.
- size() : int
- Retrieves the size of a file from the VFS.
- write() : mixed
- Stores a file in the VFS.
- writeData() : mixed
- Stores a file in the VFS from raw data.
- _checkDestination() : mixed
- Checks whether a source and destination directory are the same.
- _checkQuotaDelete() : mixed
- Checks the quota when preparing to delete data.
- _checkQuotaWrite() : mixed
- Checks the quota when preparing to write data.
- _connect() : mixed
- TODO
- _copyRecursive() : mixed
- Recursively copies a directory through the backend.
- _ensureSeekable() : mixed
- _filterMatch() : bool
- Returns whether or not a file or directory name matches an filter element.
- _getDataSize() : int
- Return the size of $data.
- _getPath() : mixed
- Returns the full path of an item.
- _listFolder() : array<string|int, mixed>
- Returns an an unsorted file list of the specified directory.
Properties
$_credentials
List of additional credentials required for this VFS backend (example: For FTP, we need a username and password to log in to the server with).
protected
array<string|int, mixed>
$_credentials
= array()
$_features
List of features that the VFS driver supports.
protected
array<string|int, mixed>
$_features
= array('readByteRange' => \false)
$_params
Hash containing connection parameters.
protected
array<string|int, mixed>
$_params
= array()
$_permissions
List of permissions and if they can be changed in this VFS backend.
protected
array<string|int, mixed>
$_permissions
= array('owner' => array('read' => \false, 'write' => \false, 'execute' => \false), 'group' => array('read' => \false, 'write' => \false, 'execute' => \false), 'all' => array('read' => \false, 'write' => \false, 'execute' => \false))
$_vfsSize
The current size, in bytes, of the VFS tree.
protected
int
$_vfsSize
= \null
Methods
__construct()
Constructor.
public
__construct([array<string|int, mixed> $params = array() ]) : mixed
Parameters
- $params : array<string|int, mixed> = array()
-
A hash containing connection parameters.
Return values
mixed —autocreatePath()
Automatically creates any necessary parent directories in the specified $path.
public
autocreatePath(string $path) : mixed
Parameters
- $path : string
-
The VFS path to autocreate.
Tags
Return values
mixed —changePermissions()
Changes permissions for an item on the VFS.
public
changePermissions(string $path, string $name, string $permission) : mixed
Parameters
- $path : string
-
The parent folder of the item.
- $name : string
-
The name of the item.
- $permission : string
-
The permission to set.
Tags
Return values
mixed —checkCredentials()
Checks the credentials that we have by calling _connect(), to see if there is a valid login.
public
checkCredentials() : mixed
Tags
Return values
mixed —copy()
Copies a file through the backend.
public
copy(string $path, string $name, string $dest[, bool $autocreate = false ]) : mixed
Parameters
- $path : string
-
The path of the original file.
- $name : string
-
The name of the original file.
- $dest : string
-
The name of the destination directory.
- $autocreate : bool = false
-
Automatically create directories?
Tags
Return values
mixed —createFolder()
Creates a folder in the VFS.
public
createFolder(string $path, string $name) : mixed
Parameters
- $path : string
-
The parent folder.
- $name : string
-
The name of the new folder.
Tags
Return values
mixed —delete()
Alias to deleteFile()
public
delete(mixed $path, mixed $name) : mixed
Parameters
- $path : mixed
- $name : mixed
Return values
mixed —deleteFile()
Deletes a file from the VFS.
public
deleteFile(string $path, string $name) : mixed
Parameters
- $path : string
-
The path to delete the file from.
- $name : string
-
The filename to delete.
Tags
Return values
mixed —deleteFolder()
Deletes a folder from the VFS.
public
deleteFolder(string $path, string $name[, bool $recursive = false ]) : mixed
Parameters
- $path : string
-
The parent folder.
- $name : string
-
The name of the folder to delete.
- $recursive : bool = false
-
Force a recursive delete?
Tags
Return values
mixed —emptyFolder()
Recursively remove all files and subfolders from the given folder.
public
emptyFolder(string $path) : mixed
Parameters
- $path : string
-
The path of the folder to empty.
Tags
Return values
mixed —exists()
Returns if a given file or folder exists in a folder.
public
exists(string $path, string $name) : bool
Parameters
- $path : string
-
The path to the folder.
- $name : string
-
The file or folder name.
Return values
bool —True if it exists, false otherwise.
getCurrentDirectory()
Returns the current working directory of the VFS backend.
public
getCurrentDirectory() : string
Return values
string —The current working directory.
getFolderSize()
Returns the size of a folder.
public
getFolderSize([string $path = null ]) : int
Parameters
- $path : string = null
-
The path of the folder.
Tags
Return values
int —The size of the folder, in bytes.
getModifiablePermissions()
Returns an array specifying what permissions are changeable for this VFS implementation.
public
getModifiablePermissions() : array<string|int, mixed>
Return values
array<string|int, mixed> —Changeable permisions.
getParam()
Returns configuration parameters.
public
getParam(string $name) : mixed
Parameters
- $name : string
-
The parameter to return.
Return values
mixed —The parameter value or null if it doesn't exist.
getQuota()
Get quota information (used/allocated), in bytes.
public
getQuota() : mixed
Tags
Return values
mixed —An associative array.
'limit' = Maximum quota allowed 'usage' = Currently used portion of quota (in bytes)
getRequiredCredentials()
Returns the list of additional credentials required, if any.
public
getRequiredCredentials() : array<string|int, mixed>
Return values
array<string|int, mixed> —Credential list.
getVFSSize()
Returns the size of the VFS item.
public
getVFSSize() : int
Return values
int —The size, in bytes, of the VFS item.
hasFeature()
Returns whether the drivers supports a certain feature.
public
hasFeature(string $feature) : bool
Parameters
Return values
bool —True if the feature is supported.
isFolder()
Checks if a given item is a folder.
public
isFolder(string $path, string $name) : bool
Parameters
- $path : string
-
The parent folder.
- $name : string
-
The item name.
Return values
bool —True if it is a folder, false otherwise.
listFolder()
Returns a file list of the directory passed in.
public
listFolder(string $path[, string|array<string|int, mixed> $filter = null ][, bool $dotfiles = true ][, bool $dironly = false ][, bool $recursive = false ]) : array<string|int, mixed>
Parameters
- $path : string
-
The path of the directory.
- $filter : string|array<string|int, mixed> = null
-
Regular expression(s) to filter file/directory name on.
- $dotfiles : bool = true
-
Show dotfiles?
- $dironly : bool = false
-
Show only directories?
- $recursive : bool = false
-
Return all directory levels recursively?
Tags
Return values
array<string|int, mixed> —File list.
move()
Moves a file through the backend.
public
move(string $path, string $name, string $dest[, bool $autocreate = false ]) : mixed
Parameters
- $path : string
-
The path of the original file.
- $name : string
-
The name of the original file.
- $dest : string
-
The destination file name.
- $autocreate : bool = false
-
Automatically create directories?
Tags
Return values
mixed —read()
Retrieves a file from the VFS.
public
read(string $path, string $name) : string
Parameters
- $path : string
-
The pathname to the file.
- $name : string
-
The filename to retrieve.
Tags
Return values
string —The file data.
readByteRange()
Retrieves a part of a file from the VFS. Particularly useful when reading large files which would exceed the PHP memory limits if they were stored in a string.
public
readByteRange(string $path, string $name, int &$offset, int $length, int &$remaining) : string
Parameters
- $path : string
-
The pathname to the file.
- $name : string
-
The filename to retrieve.
- $offset : int
-
The offset of the part. (The new offset will be stored in here).
- $length : int
-
The length of the part. If the length = -1, the whole part after the offset is retrieved. If more bytes are given as exists after the given offset. Only the available bytes are read.
- $remaining : int
-
The bytes that are left, after the part that is retrieved.
Tags
Return values
string —The file data.
readFile()
Retrieves a file from the VFS as an on-disk local file.
public
readFile(string $path, string $name) : string
This function provides a file on local disk with the data of a VFS file in it. This file cannot be modified! The behavior if you do modify it is undefined. It will be removed at the end of the request.
Parameters
- $path : string
-
The pathname to the file.
- $name : string
-
The filename to retrieve.
Tags
Return values
string —A local filename.
rename()
Renames a file in the VFS.
public
rename(string $oldpath, string $oldname, string $newpath, string $newname) : mixed
Parameters
- $oldpath : string
-
The old path to the file.
- $oldname : string
-
The old filename.
- $newpath : string
-
The new path of the file.
- $newname : string
-
The new filename.
Tags
Return values
mixed —setParams()
Sets configuration parameters.
public
setParams([array<string|int, mixed> $params = array() ]) : mixed
Parameters
- $params : array<string|int, mixed> = array()
-
An associative array with parameter names as keys.
Return values
mixed —setQuota()
Sets the VFS quota limit.
public
setQuota(int $quota[, int $metric = Horde_Vfs::QUOTA_METRIC_BYTE ]) : mixed
Parameters
- $quota : int
-
The limit to apply.
- $metric : int = Horde_Vfs::QUOTA_METRIC_BYTE
-
The metric to multiply the quota into.
Return values
mixed —setQuotaRoot()
Sets the VFS quota root.
public
setQuotaRoot(string $dir) : mixed
Parameters
- $dir : string
-
The root directory for the quota determination.
Return values
mixed —size()
Retrieves the size of a file from the VFS.
public
size(string $path, string $name) : int
Parameters
- $path : string
-
The pathname to the file.
- $name : string
-
The filename to retrieve.
Tags
Return values
int —The file size.
write()
Stores a file in the VFS.
public
write(string $path, string $name, string $tmpFile[, bool $autocreate = false ]) : mixed
Parameters
- $path : string
-
The path to store the file in.
- $name : string
-
The filename to use.
- $tmpFile : string
-
The temporary file containing the data to be stored.
- $autocreate : bool = false
-
Automatically create directories?
Tags
Return values
mixed —writeData()
Stores a file in the VFS from raw data.
public
writeData(string $path, string $name, string|resource $data[, bool $autocreate = false ]) : mixed
Parameters
- $path : string
-
The path to store the file in.
- $name : string
-
The filename to use.
- $data : string|resource
-
The data as a string or stream resource. Resources allowed @since 2.4.0
- $autocreate : bool = false
-
Automatically create directories?
Tags
Return values
mixed —_checkDestination()
Checks whether a source and destination directory are the same.
protected
_checkDestination(string $path, string $dest) : mixed
Parameters
- $path : string
-
A source path.
- $dest : string
-
A destination path.
Tags
Return values
mixed —_checkQuotaDelete()
Checks the quota when preparing to delete data.
protected
_checkQuotaDelete(string $path, string $name) : mixed
Parameters
- $path : string
-
The path the file is located in.
- $name : string
-
The filename.
Tags
Return values
mixed —_checkQuotaWrite()
Checks the quota when preparing to write data.
protected
_checkQuotaWrite(string $mode, string $data[, string $path = null ][, string $name = null ]) : mixed
Parameters
- $mode : string
-
Either 'string' or 'file'. If 'string', $data is the data to be written. If 'file', $data is the filename containing the data to be written.
- $data : string
-
Either the data or the filename to the data.
- $path : string = null
-
The path the file is located in.
- $name : string = null
-
The filename.
Tags
Return values
mixed —_connect()
TODO
protected
_connect() : mixed
Tags
Return values
mixed —_copyRecursive()
Recursively copies a directory through the backend.
protected
_copyRecursive(string $path, string $name, string $dest) : mixed
Parameters
- $path : string
-
The path of the original file.
- $name : string
-
The name of the original file.
- $dest : string
-
The name of the destination directory.
Tags
Return values
mixed —_ensureSeekable()
protected
_ensureSeekable(mixed $stream) : mixed
Parameters
- $stream : mixed
Return values
mixed —_filterMatch()
Returns whether or not a file or directory name matches an filter element.
protected
_filterMatch(string|array<string|int, mixed> $filter, string $filename) : bool
Parameters
- $filter : string|array<string|int, mixed>
-
Regular expression(s) to build the filter from.
- $filename : string
-
String containing the file/directory name to match.
Return values
bool —True on match, false on no match.
_getDataSize()
Return the size of $data.
protected
_getDataSize(string|resource $data) : int
Parameters
- $data : string|resource
-
The data.
Return values
int —The data length.
_getPath()
Returns the full path of an item.
protected
_getPath(string $path, string $name) : mixed
Parameters
- $path : string
-
The path of directory of the item.
- $name : string
-
The name of the item.
Return values
mixed —Full path when $path isset and just $name when not set.
_listFolder()
Returns an an unsorted file list of the specified directory.
protected
_listFolder(string $path[, string|array<string|int, mixed> $filter = null ][, bool $dotfiles = true ][, bool $dironly = false ]) : array<string|int, mixed>
Parameters
- $path : string
-
The path of the directory.
- $filter : string|array<string|int, mixed> = null
-
Regular expression(s) to filter file/directory name on.
- $dotfiles : bool = true
-
Show dotfiles?
- $dironly : bool = false
-
Show only directories?
Tags
Return values
array<string|int, mixed> —File list.