PHP Class Horde_Vfs_File, horde

Copyright 2002-2016 Horde LLC (http://www.horde.org/) See the enclosed file COPYING for license information (LGPL). If you did not receive this file, see http://www.horde.org/licenses/lgpl21.
Author: Chuck Hagenbuch
Inheritance: extends Horde_Vfs_Base
Show file Open project: horde/horde

Protected Properties

Property Type Description
$_features array List of features that the VFS driver supports.
$_permissions array List of permissions and if they can be changed in this VFS backend.

Public Methods

Method Description
__construct ( array $params = [] ) Constructs a new Filesystem based VFS object.
changePermissions ( string $path, string $name, string $permission ) Changes permissions for an item in the VFS.
copy ( string $path, string $name, string $dest, boolean $autocreate = false ) Copies a file through the backend.
createFolder ( string $path, string $name ) Creates a folder on the VFS.
deleteFile ( string $path, string $name ) Delete a file from the VFS.
deleteFolder ( string $path, string $name, boolean $recursive = false ) Delete a folder from the VFS.
exists ( string $path, string $name ) : boolean Returns if a given file or folder exists in a folder.
isFolder ( string $path, string $name ) : boolean Check if a given pathname is a folder.
move ( string $path, string $name, string $dest, boolean $autocreate = false ) Moves a file in the database and the file system.
read ( string $path, string $name ) : string Retrieve a file from the VFS.
readByteRange ( string $path, string $name, integer &$offset, integer $length, integer &$remaining ) : 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 $path, string $name ) : string Retrieves a file from the VFS as an on-disk local file.
readStream ( string $path, string $name ) : resource Open a read-only stream to a file in the VFS.
rename ( string $oldpath, string $oldname, string $newpath, string $newname ) Rename a file or folder in the VFS.
size ( string $path, string $name ) : integer Retrieves the filesize from the VFS.
write ( string $path, string $name, string $tmpFile, boolean $autocreate = false ) Store a file in the VFS, with the data copied from a temporary file.
writeData ( string $path, string $name, string $data, boolean $autocreate = false ) Store a file in the VFS from raw data.

Protected Methods

Method Description
_connect ( ) Make sure that the vfsroot is readable.
_getNativePath ( string $path = '', string $name = '' ) : string Return a full filename on the native filesystem, from a VFS path and name.
_getUnixPerms ( integer $perms ) : string Return Unix style perms.
_listFolder ( string $path, string | array $filter = null, boolean $dotfiles = true, boolean $dironly = false ) : array Returns an unsorted file list of the specified directory.

Method Details

__construct() public method

Constructs a new Filesystem based VFS object.
public __construct ( array $params = [] )
$params array A hash containing connection parameters. REQUIRED parameters: - vfsroot: (string) The root path. Note: The user that your webserver runs as MUST have read/write permission to this directory.

_connect() protected method

Make sure that the vfsroot is readable.
protected _connect ( )

_getNativePath() protected method

Return a full filename on the native filesystem, from a VFS path and name.
protected _getNativePath ( string $path = '', string $name = '' ) : string
$path string The VFS file path.
$name string The VFS filename.
return string The full native filename.

_getUnixPerms() protected method

Return Unix style perms.
protected _getUnixPerms ( integer $perms ) : string
$perms integer The permissions to set.
return string Unix style perms.

_listFolder() protected method

Returns an unsorted file list of the specified directory.
protected _listFolder ( string $path, string | array $filter = null, boolean $dotfiles = true, boolean $dironly = false ) : array
$path string The path of the directory.
$filter string | array Regular expression(s) to filter file/directory name on.
$dotfiles boolean Show dotfiles?
$dironly boolean Show only directories?
return array File list.

changePermissions() public method

Changes permissions for an item in the VFS.
public changePermissions ( string $path, string $name, string $permission )
$path string The path of directory of the item.
$name string The name of the item.
$permission string The permission to set in octal notation.

copy() public method

Copies a file through the backend.
public copy ( string $path, string $name, string $dest, boolean $autocreate = false )
$path string The path to store the file in.
$name string The filename to use.
$dest string The destination of the file.
$autocreate boolean Automatically create directories?

createFolder() public method

Creates a folder on the VFS.
public createFolder ( string $path, string $name )
$path string The path to create the folder in.
$name string The foldername to use.

deleteFile() public method

Delete a file from the VFS.
public deleteFile ( string $path, string $name )
$path string The path to store the file in.
$name string The filename to use.

deleteFolder() public method

Delete a folder from the VFS.
public deleteFolder ( string $path, string $name, boolean $recursive = false )
$path string The path to delete the folder from.
$name string The foldername to use.
$recursive boolean Force a recursive delete?

exists() public method

Returns if a given file or folder exists in a folder.
public exists ( string $path, string $name ) : boolean
$path string The path to the folder.
$name string The file or folder name.
return boolean True if it exists, false otherwise.

isFolder() public method

Check if a given pathname is a folder.
public isFolder ( string $path, string $name ) : boolean
$path string The path to the folder.
$name string The file/folder name.
return boolean True if it is a folder, false otherwise.

move() public method

Moves a file in the database and the file system.
public move ( string $path, string $name, string $dest, boolean $autocreate = false )
$path string The path to store the file in.
$name string The filename to use.
$dest string The destination of the file.
$autocreate boolean Automatically create directories?

read() public method

Retrieve a file from the VFS.
public read ( string $path, string $name ) : string
$path string The pathname to the file.
$name string The filename to retrieve.
return string The file data.

readByteRange() public method

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, integer &$offset, integer $length, integer &$remaining ) : string
$path string The pathname to the file.
$name string The filename to retrieve.
$offset integer The offset of the part. (The new offset will be stored in here).
$length integer 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 integer The bytes that are left, after the part that is retrieved.
return string The file data.

readFile() public method

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.
public readFile ( string $path, string $name ) : string
$path string The pathname to the file.
$name string The filename to retrieve.
return string A local filename.

readStream() public method

Open a read-only stream to a file in the VFS.
public readStream ( string $path, string $name ) : resource
$path string The pathname to the file.
$name string The filename to retrieve.
return resource The stream.

rename() public method

Rename a file or folder in the VFS.
public rename ( string $oldpath, string $oldname, string $newpath, string $newname )
$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.

size() public method

Retrieves the filesize from the VFS.
public size ( string $path, string $name ) : integer
$path string The pathname to the file.
$name string The filename to retrieve.
return integer The file size.

write() public method

Store a file in the VFS, with the data copied from a temporary file.
public write ( string $path, string $name, string $tmpFile, boolean $autocreate = false )
$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 boolean Automatically create directories?

writeData() public method

Store a file in the VFS from raw data.
public writeData ( string $path, string $name, string $data, boolean $autocreate = false )
$path string The path to store the file in.
$name string The filename to use.
$data string The file data.
$autocreate boolean Automatically create directories?

Property Details

$_features protected property

List of features that the VFS driver supports.
protected array $_features
return array

$_permissions protected property

List of permissions and if they can be changed in this VFS backend.
protected array $_permissions
return array