TYPO3 CMS  TYPO3_6-2
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 ()
 
 getCapabilities ()
 
 mergeConfigurationCapabilities ($capabilities)
 
 hasCapability ($capability)
 
 isCaseSensitiveFileSystem ()
 
 sanitizeFileName ($fileName, $charset='')
 
 hashIdentifier ($identifier)
 
 getRootLevelFolder ()
 
 getDefaultFolder ()
 
 getParentFolderIdentifierOfIdentifier ($fileIdentifier)
 
 getPublicUrl ($identifier)
 
 createFolder ($newFolderName, $parentFolderIdentifier='', $recursive=FALSE)
 
 renameFolder ($folderIdentifier, $newName)
 
 deleteFolder ($folderIdentifier, $deleteRecursively=FALSE)
 
 fileExists ($fileIdentifier)
 
 folderExists ($folderIdentifier)
 
 isFolderEmpty ($folderIdentifier)
 
 addFile ($localFilePath, $targetFolderIdentifier, $newFileName='', $removeOriginal=TRUE)
 
 createFile ($fileName, $parentFolderIdentifier)
 
 copyFileWithinStorage ($fileIdentifier, $targetFolderIdentifier, $fileName)
 
 renameFile ($fileIdentifier, $newName)
 
 replaceFile ($fileIdentifier, $localFilePath)
 
 deleteFile ($fileIdentifier)
 
 hash ($fileIdentifier, $hashAlgorithm)
 
 moveFileWithinStorage ($fileIdentifier, $targetFolderIdentifier, $newFileName)
 
 moveFolderWithinStorage ($sourceFolderIdentifier, $targetFolderIdentifier, $newFolderName)
 
 copyFolderWithinStorage ($sourceFolderIdentifier, $targetFolderIdentifier, $newFolderName)
 
 getFileContents ($fileIdentifier)
 
 setFileContents ($fileIdentifier, $contents)
 
 fileExistsInFolder ($fileName, $folderIdentifier)
 
 folderExistsInFolder ($folderName, $folderIdentifier)
 
 getFileForLocalProcessing ($fileIdentifier, $writable=TRUE)
 
 getPermissions ($identifier)
 
 dumpFileContents ($identifier)
 
 isWithin ($folderIdentifier, $identifier)
 
 getFileInfoByIdentifier ($fileIdentifier, array $propertiesToExtract=array())
 
 getFolderInfoByIdentifier ($folderIdentifier)
 
 getFilesInFolder ($folderIdentifier, $start=0, $numberOfItems=0, $recursive=FALSE, array $filenameFilterCallbacks=array())
 
 getFoldersInFolder ($folderIdentifier, $start=0, $numberOfItems=0, $recursive=FALSE, array $folderNameFilterCallbacks=array())
 

Detailed Description

This file is part of the TYPO3 CMS project.

It is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, either version 2 of the License, or any later version.

For the full copyright and license information, please read the LICENSE.txt file that was distributed with this source code.

The TYPO3 project - inspiring people to share! 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()

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 the original file must not exist anymore.

Parameters
string$localFilePath(within PATH_site)
string$targetFolderIdentifier
string$newFileNameoptional, if not given original name is used
boolean$removeOriginalif 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()

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()

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

Folder equivalent to copyFileWithinStorage().

Parameters
string$sourceFolderIdentifier
string$targetFolderIdentifier
string$newFolderName
Returns
boolean

Referenced by TYPO3\CMS\Core\Resource\Driver\LocalDriver\moveFolderWithinStorage().

◆ createFile()

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()

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
boolean$recursive
Returns
string the Identifier of the new folder

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

◆ deleteFile()

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
boolean TRUE if deleting the file succeeded

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

◆ deleteFolder()

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

Removes a folder in filesystem.

Parameters
string$folderIdentifier
boolean$deleteRecursively
Returns
boolean

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
Returns
void

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

◆ fileExists()

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

Checks if a file exists.

Parameters
string$fileIdentifier
Returns
boolean

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

◆ fileExistsInFolder()

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

Checks if a file inside a folder exists

Parameters
string$fileName
string$folderIdentifier
Returns
boolean

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

◆ folderExists()

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

Checks if a folder exists.

Parameters
string$folderIdentifier
Returns
boolean

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

◆ folderExistsInFolder()

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

Checks if a folder inside a folder exists.

Parameters
string$folderName
string$folderIdentifier
Returns
boolean

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

◆ getCapabilities()

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

Returns the capabilities of this driver.

Returns
integer
See also
Storage::CAPABILITY_* constants

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

◆ getDefaultFolder()

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()

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()

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$writableSet 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()

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

Returns information about a file.

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

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

◆ getFilesInFolder()

TYPO3\CMS\Core\Resource\Driver\DriverInterface::getFilesInFolder (   $folderIdentifier,
  $start = 0,
  $numberOfItems = 0,
  $recursive = FALSE,
array  $filenameFilterCallbacks = array() 
)

Returns a list of files inside the specified path

Parameters
string$folderIdentifier
integer$start
integer$numberOfItems
boolean$recursive
array$filenameFilterCallbackscallbacks for filtering the items
Returns
array of FileIdentifiers

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

◆ getFolderInfoByIdentifier()

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.

◆ getFoldersInFolder()

TYPO3\CMS\Core\Resource\Driver\DriverInterface::getFoldersInFolder (   $folderIdentifier,
  $start = 0,
  $numberOfItems = 0,
  $recursive = FALSE,
array  $folderNameFilterCallbacks = array() 
)

Returns a list of folders inside the specified path

Parameters
string$folderIdentifier
integer$start
integer$numberOfItems
boolean$recursive
array$folderNameFilterCallbackscallbacks for filtering the items
Returns
array of Folder Identifier

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

◆ getParentFolderIdentifierOfIdentifier()

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()

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()

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

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

Parameters
string$identifier
Returns
string

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

◆ getRootLevelFolder()

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()

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

Returns TRUE if this driver has the given capability.

Parameters
integer$capabilityA capability, as defined in a CAPABILITY_* constant
Returns
boolean

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

◆ hash()

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

Creates a hash for a file.

Parameters
string$fileIdentifier
string$hashAlgorithmThe hash algorithm to use
Returns
string

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

◆ hashIdentifier()

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.

Returns
void

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

◆ isCaseSensitiveFileSystem()

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
boolean

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

◆ isFolderEmpty()

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

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

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

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

◆ isWithin()

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$identifieridentifier to be checked against $folderIdentifier
Returns
boolean TRUE if $content is within or matches $folderIdentifier

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

◆ mergeConfigurationCapabilities()

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

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

Parameters
integer$capabilities
Returns
integer

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

◆ moveFileWithinStorage()

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()

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.

Returns
void

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

◆ renameFile()

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

Renames a file in this storage.

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

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

◆ renameFolder()

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()

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

Replaces a file with file in local file system.

Parameters
string$fileIdentifier
string$localFilePath
Returns
boolean TRUE if the operation succeeded

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

◆ sanitizeFileName()

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()

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
integer 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
integer$storageUid
Returns
void

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