‪TYPO3CMS  ‪main
TYPO3\CMS\Core\Resource\Driver\DriverInterface Interface Reference
Inheritance diagram for TYPO3\CMS\Core\Resource\Driver\DriverInterface:
TYPO3\CMS\Core\Resource\Driver\AbstractDriver TYPO3\CMS\Core\Resource\Driver\AbstractHierarchicalFilesystemDriver TYPO3\CMS\Core\Resource\Driver\LocalDriver

Public Member Functions

 processConfiguration ()
 
 setStorageUid ($storageUid)
 
 initialize ()
 
int getCapabilities ()
 
int mergeConfigurationCapabilities ($capabilities)
 
bool hasCapability ($capability)
 
bool isCaseSensitiveFileSystem ()
 
string sanitizeFileName ($fileName, $charset='')
 
string hashIdentifier ($identifier)
 
string getRootLevelFolder ()
 
string getDefaultFolder ()
 
string getParentFolderIdentifierOfIdentifier ($fileIdentifier)
 
string null getPublicUrl ($identifier)
 
string createFolder ($newFolderName, $parentFolderIdentifier='', $recursive=false)
 
array renameFolder ($folderIdentifier, $newName)
 
bool deleteFolder ($folderIdentifier, $deleteRecursively=false)
 
bool fileExists ($fileIdentifier)
 
bool folderExists ($folderIdentifier)
 
bool isFolderEmpty ($folderIdentifier)
 
string addFile ($localFilePath, $targetFolderIdentifier, $newFileName='', $removeOriginal=true)
 
string createFile ($fileName, $parentFolderIdentifier)
 
string copyFileWithinStorage ($fileIdentifier, $targetFolderIdentifier, $fileName)
 
string renameFile ($fileIdentifier, $newName)
 
bool replaceFile ($fileIdentifier, $localFilePath)
 
bool deleteFile ($fileIdentifier)
 
string hash ($fileIdentifier, $hashAlgorithm)
 
string moveFileWithinStorage ($fileIdentifier, $targetFolderIdentifier, $newFileName)
 
array moveFolderWithinStorage ($sourceFolderIdentifier, $targetFolderIdentifier, $newFolderName)
 
bool copyFolderWithinStorage ($sourceFolderIdentifier, $targetFolderIdentifier, $newFolderName)
 
string getFileContents ($fileIdentifier)
 
int setFileContents ($fileIdentifier, $contents)
 
bool fileExistsInFolder ($fileName, $folderIdentifier)
 
bool folderExistsInFolder ($folderName, $folderIdentifier)
 
string getFileForLocalProcessing ($fileIdentifier, $writable=true)
 
array getPermissions ($identifier)
 
 dumpFileContents ($identifier)
 
bool isWithin ($folderIdentifier, $identifier)
 
array getFileInfoByIdentifier ($fileIdentifier, array $propertiesToExtract=[])
 
array getFolderInfoByIdentifier ($folderIdentifier)
 
string getFileInFolder ($fileName, $folderIdentifier)
 
array getFilesInFolder ($folderIdentifier, $start=0, $numberOfItems=0, $recursive=false, array $filenameFilterCallbacks=[], $sort='', $sortRev=false)
 
string getFolderInFolder ($folderName, $folderIdentifier)
 

Detailed Description

An interface Drivers have to implement to fulfil the needs of the FAL API.

Definition at line 22 of file DriverInterface.php.

Member Function Documentation

◆ addFile()

string TYPO3\CMS\Core\Resource\Driver\DriverInterface::addFile (   $localFilePath,
  $targetFolderIdentifier,
  $newFileName = '',
  $removeOriginal = true 
)

Adds a file from the local server hard disk to a given path in TYPO3s virtual file system. This assumes that the local file exists, so no further check is done here! After a successful operation the original file must not exist anymore.

Parameters
string$localFilePath‪within public web path
string$targetFolderIdentifier
string$newFileName‪optional, if not given original name is used
bool$removeOriginal‪if set the original file will be removed after successful operation
Returns
‪string the identifier of the new file

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ copyFileWithinStorage()

string TYPO3\CMS\Core\Resource\Driver\DriverInterface::copyFileWithinStorage (   $fileIdentifier,
  $targetFolderIdentifier,
  $fileName 
)

Copies a file within the current storage. Note that this is only about an inner storage copy action, where a file is just copied to another folder in the same storage.

Parameters
string$fileIdentifier
string$targetFolderIdentifier
string$fileName
Returns
‪string the Identifier of the new file

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ copyFolderWithinStorage()

bool TYPO3\CMS\Core\Resource\Driver\DriverInterface::copyFolderWithinStorage (   $sourceFolderIdentifier,
  $targetFolderIdentifier,
  $newFolderName 
)

Folder equivalent to copyFileWithinStorage().

Parameters
string$sourceFolderIdentifier
string$targetFolderIdentifier
string$newFolderName
Returns
‪bool

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ createFile()

string TYPO3\CMS\Core\Resource\Driver\DriverInterface::createFile (   $fileName,
  $parentFolderIdentifier 
)

Creates a new (empty) file and returns the identifier.

Parameters
string$fileName
string$parentFolderIdentifier
Returns
‪string

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ createFolder()

string TYPO3\CMS\Core\Resource\Driver\DriverInterface::createFolder (   $newFolderName,
  $parentFolderIdentifier = '',
  $recursive = false 
)

Creates a folder, within a parent folder. If no parent folder is given, a root level folder will be created

Parameters
string$newFolderName
string$parentFolderIdentifier
bool$recursive
Returns
‪string the Identifier of the new folder

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

Referenced by TYPO3\CMS\Core\Resource\ResourceStorage\createFolder().

◆ deleteFile()

bool TYPO3\CMS\Core\Resource\Driver\DriverInterface::deleteFile (   $fileIdentifier)

Removes a file from the filesystem. This does not check if the file is still used or if it is a bad idea to delete it for some other reason this has to be taken care of in the upper layers (e.g. the Storage)!

Parameters
string$fileIdentifier
Returns
‪bool TRUE if deleting the file succeeded

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ deleteFolder()

bool TYPO3\CMS\Core\Resource\Driver\DriverInterface::deleteFolder (   $folderIdentifier,
  $deleteRecursively = false 
)

Removes a folder in filesystem.

Parameters
string$folderIdentifier
bool$deleteRecursively
Returns
‪bool

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ dumpFileContents()

TYPO3\CMS\Core\Resource\Driver\DriverInterface::dumpFileContents (   $identifier)

Directly output the contents of the file to the output buffer. Should not take care of header files or flushing buffer before. Will be taken care of by the Storage.

Parameters
string$identifier

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ fileExists()

bool TYPO3\CMS\Core\Resource\Driver\DriverInterface::fileExists (   $fileIdentifier)

Checks if a file exists.

Parameters
string$fileIdentifier
Returns
‪bool

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

Referenced by TYPO3\CMS\Core\Resource\Filter\FileExtensionFilter\filterFileList().

◆ fileExistsInFolder()

bool TYPO3\CMS\Core\Resource\Driver\DriverInterface::fileExistsInFolder (   $fileName,
  $folderIdentifier 
)

Checks if a file inside a folder exists

Parameters
string$fileName
string$folderIdentifier
Returns
‪bool

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ folderExists()

bool TYPO3\CMS\Core\Resource\Driver\DriverInterface::folderExists (   $folderIdentifier)

Checks if a folder exists.

Parameters
string$folderIdentifier
Returns
‪bool

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ folderExistsInFolder()

bool TYPO3\CMS\Core\Resource\Driver\DriverInterface::folderExistsInFolder (   $folderName,
  $folderIdentifier 
)

Checks if a folder inside a folder exists.

Parameters
string$folderName
string$folderIdentifier
Returns
‪bool

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ getCapabilities()

int TYPO3\CMS\Core\Resource\Driver\DriverInterface::getCapabilities ( )

Returns the capabilities of this driver.

Returns
‪int
See also
‪ResourceStorageInterface::CAPABILITY_ constants

Implemented in TYPO3\CMS\Core\Resource\Driver\AbstractDriver.

◆ getDefaultFolder()

string TYPO3\CMS\Core\Resource\Driver\DriverInterface::getDefaultFolder ( )

Returns the identifier of the default folder new files should be put into.

Returns
‪string

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ getFileContents()

string TYPO3\CMS\Core\Resource\Driver\DriverInterface::getFileContents (   $fileIdentifier)

Returns the contents of a file. Beware that this requires to load the complete file into memory and also may require fetching the file from an external location. So this might be an expensive operation (both in terms of processing resources and money) for large files.

Parameters
string$fileIdentifier
Returns
‪string The file contents

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ getFileForLocalProcessing()

string TYPO3\CMS\Core\Resource\Driver\DriverInterface::getFileForLocalProcessing (   $fileIdentifier,
  $writable = true 
)

Returns a path to a local copy of a file for processing it. When changing the file, you have to take care of replacing the current version yourself!

Parameters
string$fileIdentifier
bool$writable‪Set this to FALSE if you only need the file for read operations. This might speed up things, e.g. by using a cached local version. Never modify the file if you have set this flag!
Returns
‪string The path to the file on the local disk

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ getFileInfoByIdentifier()

array TYPO3\CMS\Core\Resource\Driver\DriverInterface::getFileInfoByIdentifier (   $fileIdentifier,
array  $propertiesToExtract = [] 
)

Returns information about a file.

Parameters
string$fileIdentifier
array$propertiesToExtract‪Array of properties which are be extracted If empty all will be extracted
Returns
‪array

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

Referenced by TYPO3\CMS\Core\Resource\Filter\FileExtensionFilter\filterFileList().

◆ getFileInFolder()

string TYPO3\CMS\Core\Resource\Driver\DriverInterface::getFileInFolder (   $fileName,
  $folderIdentifier 
)

Returns the identifier of a file inside the folder

Parameters
string$fileName
string$folderIdentifier
Returns
‪string file identifier

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ getFilesInFolder()

array TYPO3\CMS\Core\Resource\Driver\DriverInterface::getFilesInFolder (   $folderIdentifier,
  $start = 0,
  $numberOfItems = 0,
  $recursive = false,
array  $filenameFilterCallbacks = [],
  $sort = '',
  $sortRev = false 
)

Returns a list of files inside the specified path

Parameters
string$folderIdentifier
int$start
int$numberOfItems
bool$recursive
array$filenameFilterCallbacks‪callbacks for filtering the items
string$sort‪Property name used to sort the items. Among them may be: '' (empty, no sorting), name, fileext, size, tstamp and rw. If a driver does not support the given property, it should fall back to "name".
bool$sortRev‪TRUE to indicate reverse sorting (last to first)
Returns
‪array of FileIdentifiers

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ getFolderInfoByIdentifier()

array TYPO3\CMS\Core\Resource\Driver\DriverInterface::getFolderInfoByIdentifier (   $folderIdentifier)

Returns information about a file.

Parameters
string$folderIdentifier
Returns
‪array

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ getFolderInFolder()

string TYPO3\CMS\Core\Resource\Driver\DriverInterface::getFolderInFolder (   $folderName,
  $folderIdentifier 
)

Returns the identifier of a folder inside the folder

Parameters
string$folderName‪The name of the target folder
string$folderIdentifier
Returns
‪string folder identifier

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ getParentFolderIdentifierOfIdentifier()

string TYPO3\CMS\Core\Resource\Driver\DriverInterface::getParentFolderIdentifierOfIdentifier (   $fileIdentifier)

Returns the identifier of the folder the file resides in

Parameters
string$fileIdentifier
Returns
‪string

Implemented in TYPO3\CMS\Core\Resource\Driver\AbstractHierarchicalFilesystemDriver.

◆ getPermissions()

array TYPO3\CMS\Core\Resource\Driver\DriverInterface::getPermissions (   $identifier)

Returns the permissions of a file/folder as an array (keys r, w) of boolean flags

Parameters
string$identifier
Returns
‪array

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ getPublicUrl()

string null TYPO3\CMS\Core\Resource\Driver\DriverInterface::getPublicUrl (   $identifier)

Returns the public URL to a file. Either fully qualified URL or relative to public web path (rawurlencoded).

Parameters
string$identifier
Returns
‪string|null NULL if file is missing or deleted, the generated url otherwise

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ getRootLevelFolder()

string TYPO3\CMS\Core\Resource\Driver\DriverInterface::getRootLevelFolder ( )

Returns the identifier of the root level folder of the storage.

Returns
‪string

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ hasCapability()

bool TYPO3\CMS\Core\Resource\Driver\DriverInterface::hasCapability (   $capability)

Returns TRUE if this driver has the given capability.

Parameters
int$capability‪A capability, as defined in a CAPABILITY_* constant
Returns
‪bool

Implemented in TYPO3\CMS\Core\Resource\Driver\AbstractDriver.

◆ hash()

string TYPO3\CMS\Core\Resource\Driver\DriverInterface::hash (   $fileIdentifier,
  $hashAlgorithm 
)

Creates a hash for a file.

Parameters
string$fileIdentifier
string$hashAlgorithm‪The hash algorithm to use
Returns
‪string

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ hashIdentifier()

string TYPO3\CMS\Core\Resource\Driver\DriverInterface::hashIdentifier (   $identifier)

Hashes a file identifier, taking the case sensitivity of the file system into account. This helps mitigating problems with case-insensitive databases.

Parameters
string$identifier
Returns
‪string

Implemented in TYPO3\CMS\Core\Resource\Driver\AbstractDriver.

◆ initialize()

TYPO3\CMS\Core\Resource\Driver\DriverInterface::initialize ( )

Initializes this object. This is called by the storage after the driver has been attached.

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ isCaseSensitiveFileSystem()

bool TYPO3\CMS\Core\Resource\Driver\DriverInterface::isCaseSensitiveFileSystem ( )

Returns TRUE if this driver uses case-sensitive identifiers. NOTE: This is a configurable setting, but the setting does not change the way the underlying file system treats the identifiers; the setting should therefore always reflect the file system and not try to change its behaviour

Returns
‪bool

Implemented in TYPO3\CMS\Core\Resource\Driver\AbstractDriver.

◆ isFolderEmpty()

bool TYPO3\CMS\Core\Resource\Driver\DriverInterface::isFolderEmpty (   $folderIdentifier)

Checks if a folder contains files and (if supported) other folders.

Parameters
string$folderIdentifier
Returns
‪bool TRUE if there are no files and folders within $folder

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ isWithin()

bool TYPO3\CMS\Core\Resource\Driver\DriverInterface::isWithin (   $folderIdentifier,
  $identifier 
)

Checks if a given identifier is within a container, e.g. if a file or folder is within another folder. This can e.g. be used to check for web-mounts.

Hint: this also needs to return TRUE if the given identifier matches the container identifier to allow access to the root folder of a filemount.

Parameters
string$folderIdentifier
string$identifier‪identifier to be checked against $folderIdentifier
Returns
‪bool TRUE if $content is within or matches $folderIdentifier

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

Referenced by TYPO3\CMS\Core\Resource\ResourceStorage\isWithinProcessingFolder().

◆ mergeConfigurationCapabilities()

int TYPO3\CMS\Core\Resource\Driver\DriverInterface::mergeConfigurationCapabilities (   $capabilities)

Merges the capabilities merged by the user at the storage configuration into the actual capabilities of the driver and returns the result.

Parameters
int$capabilities
Returns
‪int

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ moveFileWithinStorage()

string TYPO3\CMS\Core\Resource\Driver\DriverInterface::moveFileWithinStorage (   $fileIdentifier,
  $targetFolderIdentifier,
  $newFileName 
)

Moves a file within the current storage. Note that this is only about an inner-storage move action, where a file is just moved to another folder in the same storage.

Parameters
string$fileIdentifier
string$targetFolderIdentifier
string$newFileName
Returns
‪string

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ moveFolderWithinStorage()

array TYPO3\CMS\Core\Resource\Driver\DriverInterface::moveFolderWithinStorage (   $sourceFolderIdentifier,
  $targetFolderIdentifier,
  $newFolderName 
)

Folder equivalent to moveFileWithinStorage().

Parameters
string$sourceFolderIdentifier
string$targetFolderIdentifier
string$newFolderName
Returns
‪array All files which are affected, map of old => new file identifiers

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ processConfiguration()

TYPO3\CMS\Core\Resource\Driver\DriverInterface::processConfiguration ( )

Processes the configuration for this driver.

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ renameFile()

string TYPO3\CMS\Core\Resource\Driver\DriverInterface::renameFile (   $fileIdentifier,
  $newName 
)

Renames a file in this storage.

Parameters
string$fileIdentifier
string$newName‪The target path (including the file name!)
Returns
‪string The identifier of the file after renaming

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ renameFolder()

array TYPO3\CMS\Core\Resource\Driver\DriverInterface::renameFolder (   $folderIdentifier,
  $newName 
)

Renames a folder in this storage.

Parameters
string$folderIdentifier
string$newName
Returns
‪array A map of old to new file identifiers of all affected resources

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ replaceFile()

bool TYPO3\CMS\Core\Resource\Driver\DriverInterface::replaceFile (   $fileIdentifier,
  $localFilePath 
)

Replaces a file with file in local file system.

Parameters
string$fileIdentifier
string$localFilePath
Returns
‪bool TRUE if the operation succeeded

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ sanitizeFileName()

string TYPO3\CMS\Core\Resource\Driver\DriverInterface::sanitizeFileName (   $fileName,
  $charset = '' 
)

Cleans a fileName from not allowed characters

Parameters
string$fileName
string$charsetCharset of the a fileName (defaults to current charset; depending on context)
Returns
‪string the cleaned filename

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver, and TYPO3\CMS\Core\Resource\Driver\AbstractDriver.

◆ setFileContents()

int TYPO3\CMS\Core\Resource\Driver\DriverInterface::setFileContents (   $fileIdentifier,
  $contents 
)

Sets the contents of a file to the specified value.

Parameters
string$fileIdentifier
string$contents
Returns
‪int The number of bytes written to the file

Implemented in TYPO3\CMS\Core\Resource\Driver\LocalDriver.

◆ setStorageUid()

TYPO3\CMS\Core\Resource\Driver\DriverInterface::setStorageUid (   $storageUid)

Sets the storage uid the driver belongs to

Parameters
int$storageUid

Implemented in TYPO3\CMS\Core\Resource\Driver\AbstractDriver.

Referenced by TYPO3\CMS\Core\Resource\ResourceStorage\__construct().