Nextcloud PHP API (master)

Node extends FileInfo

Interface Node

Tags
since
6.0.0
  • extends FileInfo was added in 8.0.0

Table of Contents

Constants

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'

Methods

changeLock()  : mixed
Check the type of an existing lock.
copy()  : Node
Copy the file or folder to a new location
delete()  : void
Delete the file or folder
getChecksum()  : string
Get the stored checksum(s) for this file
getCreationTime()  : int
Get the creation date as unix timestamp
getEtag()  : string
Get the Etag of the file or folder The Etag is an string id used to detect changes to a file or folder, every time the file or folder is changed the Etag will change to
getExtension()  : string
Get the extension of the file
getId()  : int
Get the internal file id for the file or folder
getInternalPath()  : string
Get the path of the file or folder relative to the mountpoint of it's storage
getMetadata()  : array<string, int|string|bool|float|array<string|int, string>|array<string|int, int>>
Get the metadata, if available
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'
getMountPoint()  : IMountPoint
Get the mountpoint the file belongs to
getMtime()  : int
Get the last modified date as timestamp for the file or folder
getMTime()  : int
Get the modified date of the file or folder as unix timestamp
getName()  : string
Get the filename of the file or folder
getOwner()  : IUser|null
Get the owner of the file
getParent()  : Folder
Get the parent folder of the file or folder
getParentId()  : int
Get the fileid or the parent folder or -1 if this item has no parent folder (because it is the root)
getPath()  : string
Get the full path of the file or folder
getPermissions()  : int
Get the permissions of the file or folder as a combination of one or more of the following constants: - \OCP\Constants::PERMISSION_READ - \OCP\Constants::PERMISSION_UPDATE - \OCP\Constants::PERMISSION_CREATE - \OCP\Constants::PERMISSION_DELETE - \OCP\Constants::PERMISSION_SHARE
getSize()  : int|float
Get the size of the file or folder in bytes
getStorage()  : IStorage
Get the storage backend the file or folder is stored on
getType()  : string
Check whether this is a file or a folder
getUploadTime()  : int
Get the upload date as unix timestamp
isCreatable()  : bool
Check whether new files or folders can be created inside this folder
isDeletable()  : bool
Check if the file or folder is deletable
isEncrypted()  : bool
Check whether the node 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 the file or folder is shareable
isShared()  : bool
Check if a file or folder is shared
isUpdateable()  : bool
Check if the file or folder is writable
lock()  : mixed
Acquire a lock on this file or folder.
move()  : Node
Move the file or folder to a new location
stat()  : array<string|int, mixed>
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 in the 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

copy()

Copy 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

getChecksum()

Get the stored checksum(s) for this file

public getChecksum() : string

Checksums are stored in the format TYPE:CHECKSUM, here may be multiple checksums separated by a single space e.g. MD5:d3b07384d113edec49eaa6238ad5ff00 SHA1:f1d2d2f924e986ac86fdf7b36c94bcdf32beec15

Tags
since
9.0.0
Return values
string

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 The Etag is an string id used to detect changes to a file or folder, every time the file or folder is changed the Etag will change to

public getEtag() : string
Tags
throws
InvalidPathException
throws
NotFoundException
since
6.0.0
Return values
string

getExtension()

Get the extension of the file

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

getInternalPath()

Get the path of the file or folder relative to the mountpoint of it's storage

public getInternalPath() : string
Tags
since
6.0.0
Return values
string

getMetadata()

Get the metadata, if available

public getMetadata() : array<string, int|string|bool|float|array<string|int, string>|array<string|int, int>>
Tags
since
28.0.0
Return values
array<string, int|string|bool|float|array<string|int, string>|array<string|int, int>>

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

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 filename of the file or folder

public getName() : string
Tags
since
6.0.0
Return values
string

getOwner()

Get the owner of the file

public getOwner() : IUser|null
Tags
since
9.0.0
Return values
IUser|null

getParent()

Get the parent folder of the file or folder

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

getParentId()

Get the fileid or the parent folder or -1 if this item has no parent folder (because it is the root)

public getParentId() : int
Tags
since
28.0.0
Return values
int

getPath()

Get the full path of the file or folder

public getPath() : string
Tags
since
6.0.0
Return values
string

getPermissions()

Get the permissions of the file or folder as a combination of one or more of the following constants: - \OCP\Constants::PERMISSION_READ - \OCP\Constants::PERMISSION_UPDATE - \OCP\Constants::PERMISSION_CREATE - \OCP\Constants::PERMISSION_DELETE - \OCP\Constants::PERMISSION_SHARE

public getPermissions() : int
Tags
throws
InvalidPathException
throws
NotFoundException
since
6.0.0
  • namespace of constants has changed in 8.0.0
Return values
int

getSize()

Get the size of the file or folder in bytes

public getSize([bool $includeMounts = true ]) : int|float
Parameters
$includeMounts : bool = true
Tags
throws
InvalidPathException
throws
NotFoundException
since
6.0.0
Return values
int|float

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

isCreatable()

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

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

isEncrypted()

Check whether the node is encrypted.

public isEncrypted() : bool

If it is a file, then it is server side encrypted. If it is a folder, then it is end-to-end encrypted.

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

isShared()

Check if a file or folder is shared

public isShared() : 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

stat()

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

public stat() : array<string|int, mixed>
Tags
since
6.0.0
Return values
array<string|int, mixed>

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

        
On this page

Search results