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