Storage extends IStorage
Provide a common interface to all different storage options
All paths passed to the storage are relative to the storage and should NOT have a leading slash.
Tags
Table of Contents
- __construct() : mixed
- $parameters is a free form array with the configuration options needed to construct the storage
- acquireLock() : mixed
- changeLock() : mixed
- copy() : bool
- see http://php.net/manual/en/function.copy.php
- copyFromStorage() : bool
- file_exists() : bool
- see http://php.net/manual/en/function.file_exists.php
- file_get_contents() : string|false
- see http://php.net/manual/en/function.file_get_contents.php
- file_put_contents() : bool
- see http://php.net/manual/en/function.file_put_contents.php
- filemtime() : int|false
- see http://php.net/manual/en/function.filemtime.php
- filesize() : int|false
- see http://php.net/manual/en/function.filesize.php The result for filesize when called on a folder is required to be 0
- filetype() : string|false
- see http://php.net/manual/en/function.filetype.php
- fopen() : resource|false
- see http://php.net/manual/en/function.fopen.php
- free_space() : int|false
- see http://php.net/manual/en/function.free_space.php
- getAvailability() : array
- getCache() : ICache
- getDirectDownload() : array|false
- A custom storage implementation can return an url for direct download of a give file.
- getETag() : string|false
- get the ETag for a file or folder
- getId() : string
- Get the identifier for the storage, the returned id should be the same for every storage object that is created with the same parameters and two storage objects with the same id should refer to two storages that display the same files.
- getLocalFile() : string|false
- get the path to a local version of the file.
- getMimeType() : string|false
- get the mimetype for a file or folder The mimetype for a folder is required to be "httpd/unix-directory"
- getOwner() : mixed
- getPermissions() : int
- get the full permissions of a path.
- getPropagator() : IPropagator
- getScanner() : IScanner
- getUpdater() : IUpdater
- getWatcher() : IWatcher
- hash() : string|false
- see http://php.net/manual/en/function.hash-file.php
- hasUpdated() : bool
- check if a file or folder has been updated since $time
- instanceOfStorage() : bool
- Check if the storage is an instance of $class or is a wrapper for a storage that is an instance of $class
- is_dir() : bool
- see http://php.net/manual/en/function.is-dir.php
- is_file() : bool
- see http://php.net/manual/en/function.is-file.php
- isCreatable() : bool
- check if a file can be created in $path
- isDeletable() : bool
- check if a file can be deleted
- isLocal() : bool
- Returns whether the storage is local, which means that files are stored on the local filesystem instead of remotely.
- isReadable() : bool
- check if a file can be read
- isSharable() : bool
- check if a file can be shared
- isUpdatable() : bool
- check if a file can be written to
- mkdir() : bool
- see http://php.net/manual/en/function.mkdir.php implementations need to implement a recursive mkdir
- moveFromStorage() : bool
- needsPartFile() : mixed
- opendir() : resource|false
- see http://php.net/manual/en/function.opendir.php
- releaseLock() : mixed
- rename() : bool
- see http://php.net/manual/en/function.rename.php
- rmdir() : bool
- see http://php.net/manual/en/function.rmdir.php
- search() : array|false
- search for occurrences of $query in file names
- setAvailability() : mixed
- stat() : array|false
- see http://php.net/manual/en/function.stat.php only the following keys are required in the result: size and mtime
- test() : bool
- Test a storage for availability
- touch() : bool
- see http://php.net/manual/en/function.touch.php If the backend does not support the operation, false should be returned
- unlink() : bool
- see http://php.net/manual/en/function.unlink.php
- verifyPath() : void
Methods
__construct()
$parameters is a free form array with the configuration options needed to construct the storage
public
__construct(array $parameters) : mixed
Parameters
- $parameters : array
Tags
Return values
mixed —acquireLock()
public
acquireLock(string $path, int $type, ILockingProvider $provider) : mixed
Parameters
- $path : string
-
The path of the file to acquire the lock for
- $type : int
-
\OCP\Lock\ILockingProvider::LOCK_SHARED or \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE
- $provider : ILockingProvider
Tags
Return values
mixed —changeLock()
public
changeLock(string $path, int $type, ILockingProvider $provider) : mixed
Parameters
- $path : string
-
The path of the file to change the lock for
- $type : int
-
\OCP\Lock\ILockingProvider::LOCK_SHARED or \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE
- $provider : ILockingProvider
Tags
Return values
mixed —copy()
see http://php.net/manual/en/function.copy.php
public
copy(string $path1, string $path2) : bool
Parameters
- $path1 : string
- $path2 : string
Tags
Return values
bool —copyFromStorage()
public
copyFromStorage(IStorage $sourceStorage, string $sourceInternalPath, string $targetInternalPath) : bool
Parameters
- $sourceStorage : IStorage
- $sourceInternalPath : string
- $targetInternalPath : string
Tags
Return values
bool —file_exists()
see http://php.net/manual/en/function.file_exists.php
public
file_exists(string $path) : bool
Parameters
- $path : string
Tags
Return values
bool —file_get_contents()
see http://php.net/manual/en/function.file_get_contents.php
public
file_get_contents(string $path) : string|false
Parameters
- $path : string
Tags
Return values
string|false —file_put_contents()
see http://php.net/manual/en/function.file_put_contents.php
public
file_put_contents(string $path, string $data) : bool
Parameters
- $path : string
- $data : string
Tags
Return values
bool —filemtime()
see http://php.net/manual/en/function.filemtime.php
public
filemtime(string $path) : int|false
Parameters
- $path : string
Tags
Return values
int|false —filesize()
see http://php.net/manual/en/function.filesize.php The result for filesize when called on a folder is required to be 0
public
filesize(string $path) : int|false
Parameters
- $path : string
Tags
Return values
int|false —filetype()
see http://php.net/manual/en/function.filetype.php
public
filetype(string $path) : string|false
Parameters
- $path : string
Tags
Return values
string|false —fopen()
see http://php.net/manual/en/function.fopen.php
public
fopen(string $path, string $mode) : resource|false
Parameters
- $path : string
- $mode : string
Tags
Return values
resource|false —free_space()
see http://php.net/manual/en/function.free_space.php
public
free_space(string $path) : int|false
Parameters
- $path : string
Tags
Return values
int|false —getAvailability()
public
getAvailability() : array
Tags
Return values
array —[ available, last_checked ]
getCache()
public
getCache() : ICache
Tags
Return values
ICache —getDirectDownload()
A custom storage implementation can return an url for direct download of a give file.
public
getDirectDownload(string $path) : array|false
For now the returned array can hold the parameter url - in future more attributes might follow.
Parameters
- $path : string
Tags
Return values
array|false —getETag()
get the ETag for a file or folder
public
getETag(string $path) : string|false
Parameters
- $path : string
Tags
Return values
string|false —getId()
Get the identifier for the storage, the returned id should be the same for every storage object that is created with the same parameters and two storage objects with the same id should refer to two storages that display the same files.
public
getId() : string
Tags
Return values
string —getLocalFile()
get the path to a local version of the file.
public
getLocalFile(string $path) : string|false
The local version of the file can be temporary and doesn't have to be persistent across requests
Parameters
- $path : string
Tags
Return values
string|false —getMimeType()
get the mimetype for a file or folder The mimetype for a folder is required to be "httpd/unix-directory"
public
getMimeType(string $path) : string|false
Parameters
- $path : string
Tags
Return values
string|false —getOwner()
public
getOwner(string $path) : mixed
Parameters
- $path : string
-
path for which to retrieve the owner
Tags
Return values
mixed —getPermissions()
get the full permissions of a path.
public
getPermissions(string $path) : int
Should return a combination of the PERMISSION_ constants defined in lib/public/constants.php
Parameters
- $path : string
Tags
Return values
int —getPropagator()
public
getPropagator() : IPropagator
Tags
Return values
IPropagator —getScanner()
public
getScanner() : IScanner
Tags
Return values
IScanner —getUpdater()
public
getUpdater() : IUpdater
Tags
Return values
IUpdater —getWatcher()
public
getWatcher() : IWatcher
Tags
Return values
IWatcher —hash()
see http://php.net/manual/en/function.hash-file.php
public
hash(string $type, string $path[, bool $raw = false ]) : string|false
Parameters
- $type : string
- $path : string
- $raw : bool = false
Tags
Return values
string|false —hasUpdated()
check if a file or folder has been updated since $time
public
hasUpdated(string $path, int $time) : bool
Parameters
- $path : string
- $time : int
Tags
Return values
bool —instanceOfStorage()
Check if the storage is an instance of $class or is a wrapper for a storage that is an instance of $class
public
instanceOfStorage(string $class) : bool
Parameters
- $class : string
Tags
Return values
bool —is_dir()
see http://php.net/manual/en/function.is-dir.php
public
is_dir(string $path) : bool
Parameters
- $path : string
Tags
Return values
bool —is_file()
see http://php.net/manual/en/function.is-file.php
public
is_file(string $path) : bool
Parameters
- $path : string
Tags
Return values
bool —isCreatable()
check if a file can be created in $path
public
isCreatable(string $path) : bool
Parameters
- $path : string
Tags
Return values
bool —isDeletable()
check if a file can be deleted
public
isDeletable(string $path) : bool
Parameters
- $path : string
Tags
Return values
bool —isLocal()
Returns whether the storage is local, which means that files are stored on the local filesystem instead of remotely.
public
isLocal() : bool
Calling getLocalFile() for local storages should always return the local files, whereas for non-local storages it might return a temporary file.
Tags
Return values
bool —true if the files are stored locally, false otherwise
isReadable()
check if a file can be read
public
isReadable(string $path) : bool
Parameters
- $path : string
Tags
Return values
bool —isSharable()
check if a file can be shared
public
isSharable(string $path) : bool
Parameters
- $path : string
Tags
Return values
bool —isUpdatable()
check if a file can be written to
public
isUpdatable(string $path) : bool
Parameters
- $path : string
Tags
Return values
bool —mkdir()
see http://php.net/manual/en/function.mkdir.php implementations need to implement a recursive mkdir
public
mkdir(string $path) : bool
Parameters
- $path : string
Tags
Return values
bool —moveFromStorage()
public
moveFromStorage(IStorage $sourceStorage, string $sourceInternalPath, string $targetInternalPath) : bool
Parameters
- $sourceStorage : IStorage
- $sourceInternalPath : string
- $targetInternalPath : string
Tags
Return values
bool —needsPartFile()
public
needsPartFile() : mixed
Return values
mixed —opendir()
see http://php.net/manual/en/function.opendir.php
public
opendir(string $path) : resource|false
Parameters
- $path : string
Tags
Return values
resource|false —releaseLock()
public
releaseLock(string $path, int $type, ILockingProvider $provider) : mixed
Parameters
- $path : string
-
The path of the file to acquire the lock for
- $type : int
-
\OCP\Lock\ILockingProvider::LOCK_SHARED or \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE
- $provider : ILockingProvider
Tags
Return values
mixed —rename()
see http://php.net/manual/en/function.rename.php
public
rename(string $path1, string $path2) : bool
Parameters
- $path1 : string
- $path2 : string
Tags
Return values
bool —rmdir()
see http://php.net/manual/en/function.rmdir.php
public
rmdir(string $path) : bool
Parameters
- $path : string
Tags
Return values
bool —search()
search for occurrences of $query in file names
public
search(string $query) : array|false
Parameters
- $query : string
Tags
Return values
array|false —setAvailability()
public
setAvailability(bool $isAvailable) : mixed
Parameters
- $isAvailable : bool
Tags
Return values
mixed —stat()
see http://php.net/manual/en/function.stat.php only the following keys are required in the result: size and mtime
public
stat(string $path) : array|false
Parameters
- $path : string
Tags
Return values
array|false —test()
Test a storage for availability
public
test() : bool
Tags
Return values
bool —touch()
see http://php.net/manual/en/function.touch.php If the backend does not support the operation, false should be returned
public
touch(string $path[, int $mtime = null ]) : bool
Parameters
- $path : string
- $mtime : int = null
Tags
Return values
bool —unlink()
see http://php.net/manual/en/function.unlink.php
public
unlink(string $path) : bool
Parameters
- $path : string
Tags
Return values
bool —verifyPath()
public
verifyPath(string $path, string $fileName) : void
Parameters
- $path : string
-
the path of the target folder
- $fileName : string
-
the name of the file itself