Nextcloud PHP API (stable18)

File extends Node

Interface File

Tags
since
6.0.0

Table of Contents

BLACKLIST_FILES_REGEX  = '\.(part|filepart)$'
MIMETYPE_FOLDER  = 'httpd/unix-directory'
SPACE_NOT_COMPUTED  = -1
SPACE_UNKNOWN  = -2
SPACE_UNLIMITED  = -3
TYPE_FILE  = 'file'
TYPE_FOLDER  = 'dir'
changeLock()  : mixed
Check the type of an existing lock.
copy()  : Node
Cope the file or folder to a new location
delete()  : void
Delete the file or folder
fopen()  : resource
Open the file as stream, resulting resource can be operated as stream like the result from php's own fopen
getChecksum()  : string
Get the stored checksum for this file
getContent()  : string
Get the content of the file as string
getCreationTime()  : int
Get the creation date as unix timestamp
getEtag()  : string
Get the Etag of the file or folder
getExtension()  : string
Get the extension of this file
getId()  : int|null
Get the file id of the file or folder
getInternalPath()  : string
Get the path relative to the storage
getMimePart()  : string
Get the first part of the mimetype of the file or folder i.e. 'image'
getMimetype()  : string
Get the full mimetype of the file or folder i.e. 'image/png'
getMimeType()  : string
Get the mimetype of the file
getMountPoint()  : IMountPoint
Get the mountpoint the file belongs to
getMTime()  : int
Get the modified date of the file or folder as unix timestamp
getMtime()  : int
Get the last modified date as timestamp for the file or folder
getName()  : string
Get the name of the file or folder
getOwner()  : IUser
Get the owner of the file
getParent()  : Folder
Get the parent folder of the file or folder
getPath()  : string
Get the absolute path
getPermissions()  : int
Get the permissions of the file or folder as bitmasked combination of the following constants \OCP\Constants::PERMISSION_CREATE \OCP\Constants::PERMISSION_READ \OCP\Constants::PERMISSION_UPDATE \OCP\Constants::PERMISSION_DELETE \OCP\Constants::PERMISSION_SHARE \OCP\Constants::PERMISSION_ALL
getSize()  : int
Get the size in bytes for the file or folder
getStorage()  : Storage
Get the storage the file or folder is storage on
getType()  : string
Check whether this is a file or a folder
getUploadTime()  : int
Get the upload date as unix timestamp
hash()  : string
Compute the hash of the file Type of hash is set with $type and can be anything supported by php's hash_file
isCreatable()  : bool
Check whether new files or folders can be created inside this folder
isDeletable()  : bool
Check if a file or folder can be deleted
isEncrypted()  : bool
Check whether the file is encrypted
isMounted()  : bool
Check if a file or folder is mounted
isReadable()  : bool
Check if the file or folder is readable
isShareable()  : bool
Check if a file or folder can be shared
isShared()  : bool
Check if a file or folder is shared
isUpdateable()  : bool
Check if a file is writable
lock()  : mixed
Acquire a lock on this file or folder.
move()  : Node
Move the file or folder to a new location
putContent()  : mixed
Write to the file from string data
stat()  : array
Get metadata of the file or folder The returned array contains the following values: - mtime - size
touch()  : void
Change the modified date of the file or folder If $mtime is omitted the current time will be used
unlock()  : mixed
Release an existing lock.

Constants

BLACKLIST_FILES_REGEX

public mixed BLACKLIST_FILES_REGEX = '\.(part|filepart)$'
Tags
const

\OCP\Files\FileInfo::BLACKLIST_FILES_REGEX Return regular expression to test filenames against (blacklisting)

since
12.0.0

MIMETYPE_FOLDER

public mixed MIMETYPE_FOLDER = 'httpd/unix-directory'
Tags
since
9.1.0

SPACE_NOT_COMPUTED

public mixed SPACE_NOT_COMPUTED = -1
Tags
const

\OCP\Files\FileInfo::SPACE_NOT_COMPUTED Return value for a not computed space value

since
8.0.0

SPACE_UNKNOWN

public mixed SPACE_UNKNOWN = -2
Tags
const

\OCP\Files\FileInfo::SPACE_UNKNOWN Return value for unknown space value

since
8.0.0

SPACE_UNLIMITED

public mixed SPACE_UNLIMITED = -3
Tags
const

\OCP\Files\FileInfo::SPACE_UNLIMITED Return value for unlimited space

since
8.0.0

TYPE_FILE

public mixed TYPE_FILE = 'file'
Tags
since
7.0.0

TYPE_FOLDER

public mixed TYPE_FOLDER = 'dir'
Tags
since
7.0.0

Methods

changeLock()

Check the type of an existing lock.

public changeLock(int $targetType) : mixed

A shared lock can be changed to an exclusive lock is there is exactly one shared lock on the file, an exclusive lock can always be changed to a shared lock since there can only be one exclusive lock int he first place.

A locked exception will be thrown when these preconditions are not met. Note that this is also the case if no existing lock exists for the file.

Parameters
$targetType : int

\OCP\Lock\ILockingProvider::LOCK_SHARED or \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE

Tags
throws
LockedException
since
9.1.0
Return values
mixed —

copy()

Cope the file or folder to a new location

public copy(string $targetPath) : Node
Parameters
$targetPath : string

the absolute target path

Tags
since
6.0.0
Return values
Node —

fopen()

Open the file as stream, resulting resource can be operated as stream like the result from php's own fopen

public fopen(string $mode) : resource
Parameters
$mode : string
Tags
throws
NotPermittedException
throws
LockedException
since
6.0.0
Return values
resource —

getCreationTime()

Get the creation date as unix timestamp

public getCreationTime() : int

If the creation time is not known, 0 will be returned

creation time is not set automatically by the server and is generally only available for files uploaded by the sync clients

Tags
since
18.0.0
Return values
int —

getEtag()

Get the Etag of the file or folder

public getEtag() : string
Tags
since
7.0.0
Return values
string —

getExtension()

Get the extension of this file

public getExtension() : string
Tags
since
15.0.0
Return values
string —

getId()

Get the file id of the file or folder

public getId() : int|null
Tags
since
7.0.0
Return values
int|null —

getInternalPath()

Get the path relative to the storage

public getInternalPath() : string
Tags
since
7.0.0
Return values
string —

getMimePart()

Get the first part of the mimetype of the file or folder i.e. 'image'

public getMimePart() : string
Tags
since
7.0.0
Return values
string —

getMimetype()

Get the full mimetype of the file or folder i.e. 'image/png'

public getMimetype() : string
Tags
since
7.0.0
Return values
string —

getMimeType()

Get the mimetype of the file

public getMimeType() : string
Tags
since
6.0.0
Return values
string —

getMtime()

Get the last modified date as timestamp for the file or folder

public getMtime() : int
Tags
since
7.0.0
Return values
int —

getName()

Get the name of the file or folder

public getName() : string
Tags
since
7.0.0
Return values
string —

getOwner()

Get the owner of the file

public getOwner() : IUser
Tags
since
9.0.0
Return values
IUser —

getParent()

Get the parent folder of the file or folder

public getParent() : Folder
Tags
since
6.0.0
Return values
Folder —

getPath()

Get the absolute path

public getPath() : string
Tags
since
7.0.0
Return values
string —

getPermissions()

Get the permissions of the file or folder as bitmasked combination of the following constants \OCP\Constants::PERMISSION_CREATE \OCP\Constants::PERMISSION_READ \OCP\Constants::PERMISSION_UPDATE \OCP\Constants::PERMISSION_DELETE \OCP\Constants::PERMISSION_SHARE \OCP\Constants::PERMISSION_ALL

public getPermissions() : int
Tags
since
7.0.0
  • namespace of constants has changed in 8.0.0
Return values
int —

getSize()

Get the size in bytes for the file or folder

public getSize([bool $includeMounts = true ]) : int
Parameters
$includeMounts : bool = true

whether or not to include the size of any sub mounts, since 16.0.0

Tags
since
7.0.0
Return values
int —

getStorage()

Get the storage the file or folder is storage on

public getStorage() : Storage
Tags
since
7.0.0
Return values
Storage —

getType()

Check whether this is a file or a folder

public getType() : string
Tags
since
7.0.0
Return values
string —

\OCP\Files\FileInfo::TYPE_FILE|\OCP\Files\FileInfo::TYPE_FOLDER

getUploadTime()

Get the upload date as unix timestamp

public getUploadTime() : int

If the upload time is not known, 0 will be returned

Upload time will be set automatically by the server for files uploaded over DAV files created by Nextcloud apps generally do not have an the upload time set

Tags
since
18.0.0
Return values
int —

hash()

Compute the hash of the file Type of hash is set with $type and can be anything supported by php's hash_file

public hash(string $type[, bool $raw = false ]) : string
Parameters
$type : string
$raw : bool = false
Tags
since
6.0.0
Return values
string —

isCreatable()

Check whether new files or folders can be created inside this folder

public isCreatable() : bool
Tags
since
8.0.0
Return values
bool —

isDeletable()

Check if a file or folder can be deleted

public isDeletable() : bool
Tags
since
7.0.0
Return values
bool —

isEncrypted()

Check whether the file is encrypted

public isEncrypted() : bool
Tags
since
7.0.0
Return values
bool —

isMounted()

Check if a file or folder is mounted

public isMounted() : bool
Tags
since
7.0.0
Return values
bool —

isReadable()

Check if the file or folder is readable

public isReadable() : bool
Tags
since
7.0.0
Return values
bool —

isShareable()

Check if a file or folder can be shared

public isShareable() : bool
Tags
since
7.0.0
Return values
bool —

isShared()

Check if a file or folder is shared

public isShared() : bool
Tags
since
7.0.0
Return values
bool —

isUpdateable()

Check if a file is writable

public isUpdateable() : bool
Tags
since
7.0.0
Return values
bool —

lock()

Acquire a lock on this file or folder.

public lock(int $type) : mixed

A shared (read) lock will prevent any exclusive (write) locks from being created but any number of shared locks can be active at the same time. An exclusive lock will prevent any other lock from being created (both shared and exclusive).

A locked exception will be thrown if any conflicting lock already exists

Note that this uses mandatory locking, if you acquire an exclusive lock on a file it will block all other operations for that file, even within the same php process.

Acquiring any lock on a file will also create a shared lock on all parent folders of that file.

Note that in most cases you won't need to manually manage the locks for any files you're working with, any filesystem operation will automatically acquire the relevant locks for that operation.

Parameters
$type : int

\OCP\Lock\ILockingProvider::LOCK_SHARED or \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE

Tags
throws
LockedException
since
9.1.0
Return values
mixed —

stat()

Get metadata of the file or folder The returned array contains the following values: - mtime - size

public stat() : array
Tags
since
6.0.0
Return values
array —

touch()

Change the modified date of the file or folder If $mtime is omitted the current time will be used

public touch([int $mtime = null ]) : void
Parameters
$mtime : int = null

(optional) modified date as unix timestamp

Tags
throws
InvalidPathException
throws
NotFoundException
throws
NotPermittedException
since
6.0.0

unlock()

Release an existing lock.

public unlock(int $type) : mixed

This will also free up the shared locks on any parent folder that were automatically acquired when locking the file.

Note that this method will not give any sort of error when trying to free a lock that doesn't exist.

Parameters
$type : int

\OCP\Lock\ILockingProvider::LOCK_SHARED or \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE

Tags
throws
LockedException
since
9.1.0
Return values
mixed —

Search results