TYPO3 CMS  TYPO3_7-6
TYPO3\CMS\Core\Resource\Driver\LocalDriver Class Reference
Inheritance diagram for TYPO3\CMS\Core\Resource\Driver\LocalDriver:
TYPO3\CMS\Core\Resource\Driver\AbstractHierarchicalFilesystemDriver TYPO3\CMS\Core\Resource\Driver\AbstractDriver TYPO3\CMS\Core\Resource\Driver\DriverInterface

Public Member Functions

 __construct (array $configuration=[])
 
 mergeConfigurationCapabilities ($capabilities)
 
 processConfiguration ()
 
 initialize ()
 
 getPublicUrl ($identifier)
 
 getRootLevelFolder ()
 
 getDefaultFolder ()
 
 createFolder ($newFolderName, $parentFolderIdentifier='', $recursive=false)
 
 getFileInfoByIdentifier ($fileIdentifier, array $propertiesToExtract=[])
 
 getFolderInfoByIdentifier ($folderIdentifier)
 
 sanitizeFileName ($fileName, $charset='')
 
 getFileInFolder ($fileName, $folderIdentifier)
 
 getFilesInFolder ($folderIdentifier, $start=0, $numberOfItems=0, $recursive=false, array $filenameFilterCallbacks=[], $sort='', $sortRev=false)
 
 countFilesInFolder ($folderIdentifier, $recursive=false, array $filenameFilterCallbacks=[])
 
 getFoldersInFolder ($folderIdentifier, $start=0, $numberOfItems=0, $recursive=false, array $folderNameFilterCallbacks=[], $sort='', $sortRev=false)
 
 countFoldersInFolder ($folderIdentifier, $recursive=false, array $folderNameFilterCallbacks=[])
 
 hash ($fileIdentifier, $hashAlgorithm)
 
 addFile ($localFilePath, $targetFolderIdentifier, $newFileName='', $removeOriginal=true)
 
 fileExists ($fileIdentifier)
 
 fileExistsInFolder ($fileName, $folderIdentifier)
 
 folderExists ($folderIdentifier)
 
 folderExistsInFolder ($folderName, $folderIdentifier)
 
 getFolderInFolder ($folderName, $folderIdentifier)
 
 replaceFile ($fileIdentifier, $localFilePath)
 
 copyFileWithinStorage ($fileIdentifier, $targetFolderIdentifier, $fileName)
 
 moveFileWithinStorage ($fileIdentifier, $targetFolderIdentifier, $newFileName)
 
 moveFolderWithinStorage ($sourceFolderIdentifier, $targetFolderIdentifier, $newFolderName)
 
 renameFile ($fileIdentifier, $newName)
 
 renameFolder ($folderIdentifier, $newName)
 
 deleteFile ($fileIdentifier)
 
 deleteFolder ($folderIdentifier, $deleteRecursively=false)
 
 isFolderEmpty ($folderIdentifier)
 
 getFileForLocalProcessing ($fileIdentifier, $writable=true)
 
 getPermissions ($identifier)
 
 isWithin ($folderIdentifier, $identifier)
 
 createFile ($fileName, $parentFolderIdentifier)
 
 getFileContents ($fileIdentifier)
 
 setFileContents ($fileIdentifier, $contents)
 
 getRole ($folderIdentifier)
 
 dumpFileContents ($identifier)
 
- Public Member Functions inherited from TYPO3\CMS\Core\Resource\Driver\AbstractHierarchicalFilesystemDriver
 getParentFolderIdentifierOfIdentifier ($fileIdentifier)
 
- Public Member Functions inherited from TYPO3\CMS\Core\Resource\Driver\AbstractDriver
 __construct (array $configuration=[])
 
 setStorageUid ($storageUid)
 
 getCapabilities ()
 
 hasCapability ($capability)
 
 hashIdentifier ($identifier)
 
 sanitizeFileName ($fileName, $charset='')
 
 isCaseSensitiveFileSystem ()
 
- Public Member Functions inherited from TYPO3\CMS\Core\Resource\Driver\DriverInterface
 copyFolderWithinStorage ($sourceFolderIdentifier, $targetFolderIdentifier, $newFolderName)
 

Public Attributes

const UNSAFE_FILENAME_CHARACTER_EXPRESSION = '\\x00-\\x2C\\/\\x3A-\\x3F\\x5B-\\x60\\x7B-\\xBF'
 

Protected Member Functions

 determineBaseUrl ()
 
 calculateBasePath (array $configuration)
 
 getDirectoryItemList ($folderIdentifier, $start=0, $numberOfItems=0, array $filterMethods, $includeFiles=true, $includeDirs=true, $recursive=false, $sort='', $sortRev=false)
 
 applyFilterMethodsToDirectoryItem (array $filterMethods, $itemName, $itemIdentifier, $parentIdentifier)
 
 sortDirectoryEntries ($directoryEntries, $sort='', $sortRev=false)
 
 extractFileInformation ($filePath, $containerPath, array $propertiesToExtract=[])
 
 getAbsoluteBasePath ()
 
 getAbsolutePath ($fileIdentifier)
 
 copyFileToTemporaryPath ($fileIdentifier)
 
 recycleFileOrFolder ($filePath, $recycleDirectory)
 
 createIdentifierMap (array $filesAndFolders, $sourceFolderIdentifier, $targetFolderIdentifier)
 
 getCharsetConversion ()
 
 getRecycleDirectory ($path)
 
- Protected Member Functions inherited from TYPO3\CMS\Core\Resource\Driver\AbstractHierarchicalFilesystemDriver
 isPathValid ($theFile)
 
 canonicalizeAndCheckFilePath ($filePath)
 
 canonicalizeAndCheckFileIdentifier ($fileIdentifier)
 
 canonicalizeAndCheckFolderIdentifier ($folderPath)
 
- Protected Member Functions inherited from TYPO3\CMS\Core\Resource\Driver\AbstractDriver
 isValidFilename ($fileName)
 
 getTemporaryPathForFile ($fileIdentifier)
 
 canonicalizeAndCheckFilePath ($filePath)
 
 canonicalizeAndCheckFileIdentifier ($fileIdentifier)
 
 canonicalizeAndCheckFolderIdentifier ($folderIdentifier)
 

Protected Attributes

 $absoluteBasePath
 
 $supportedHashAlgorithms = ['sha1', 'md5']
 
 $baseUri = null
 
 $charsetConversion
 
 $mappingFolderNameToRole
 
- Protected Attributes inherited from TYPO3\CMS\Core\Resource\Driver\AbstractDriver
 $capabilities = 0
 
 $storageUid
 
 $supportedHashAlgorithms = []
 
 $configuration = []
 

Detailed Description

Driver for the local file system

Definition at line 28 of file LocalDriver.php.

Constructor & Destructor Documentation

◆ __construct()

Member Function Documentation

◆ addFile()

TYPO3\CMS\Core\Resource\Driver\LocalDriver::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
bool$removeOriginalif set the original file will be removed after successful operation
Returns
string the identifier of the new file
Exceptions

Implements TYPO3\CMS\Core\Resource\Driver\DriverInterface.

Definition at line 770 of file LocalDriver.php.

References TYPO3\CMS\Core\Utility\PathUtility\basename(), TYPO3\CMS\Core\Resource\Driver\AbstractHierarchicalFilesystemDriver\canonicalizeAndCheckFilePath(), TYPO3\CMS\Core\Resource\Driver\AbstractHierarchicalFilesystemDriver\canonicalizeAndCheckFolderIdentifier(), TYPO3\CMS\Core\Utility\GeneralUtility\fixPermissions(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\getAbsolutePath(), TYPO3\CMS\Core\Utility\GeneralUtility\isFirstPartOfStr(), and TYPO3\CMS\Core\Resource\Driver\LocalDriver\sanitizeFileName().

◆ applyFilterMethodsToDirectoryItem()

TYPO3\CMS\Core\Resource\Driver\LocalDriver::applyFilterMethodsToDirectoryItem ( array  $filterMethods,
  $itemName,
  $itemIdentifier,
  $parentIdentifier 
)
protected

Applies a set of filter methods to a file name to find out if it should be used or not. This is e.g. used by directory listings.

Parameters
array$filterMethodsThe filter methods to use
string$itemName
string$itemIdentifier
string$parentIdentifier
Exceptions

Definition at line 425 of file LocalDriver.php.

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

◆ calculateBasePath()

TYPO3\CMS\Core\Resource\Driver\LocalDriver::calculateBasePath ( array  $configuration)
protected

◆ copyFileToTemporaryPath()

TYPO3\CMS\Core\Resource\Driver\LocalDriver::copyFileToTemporaryPath (   $fileIdentifier)
protected

Copies a file to a temporary path and returns that path.

Parameters
string$fileIdentifier
Returns
string The temporary path
Exceptions

Definition at line 943 of file LocalDriver.php.

References TYPO3\CMS\Core\Resource\Driver\LocalDriver\getAbsolutePath(), and TYPO3\CMS\Core\Resource\Driver\AbstractDriver\getTemporaryPathForFile().

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

◆ copyFileWithinStorage()

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

Copies a file within the current storage. Note that this is only about an intra-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

Implements TYPO3\CMS\Core\Resource\Driver\DriverInterface.

Definition at line 901 of file LocalDriver.php.

References TYPO3\CMS\Core\Resource\Driver\AbstractHierarchicalFilesystemDriver\canonicalizeAndCheckFileIdentifier(), TYPO3\CMS\Core\Utility\GeneralUtility\fixPermissions(), and TYPO3\CMS\Core\Resource\Driver\LocalDriver\getAbsolutePath().

◆ countFilesInFolder()

TYPO3\CMS\Core\Resource\Driver\LocalDriver::countFilesInFolder (   $folderIdentifier,
  $recursive = false,
array  $filenameFilterCallbacks = [] 
)

Returns the number of files inside the specified path

Parameters
string$folderIdentifier
bool$recursive
array$filenameFilterCallbackscallbacks for filtering the items
Returns
int Number of files in folder

Implements TYPO3\CMS\Core\Resource\Driver\DriverInterface.

Definition at line 483 of file LocalDriver.php.

References TYPO3\CMS\Core\Resource\Driver\LocalDriver\getFilesInFolder().

◆ countFoldersInFolder()

TYPO3\CMS\Core\Resource\Driver\LocalDriver::countFoldersInFolder (   $folderIdentifier,
  $recursive = false,
array  $folderNameFilterCallbacks = [] 
)

Returns the number of folders inside the specified path

Parameters
string$folderIdentifier
bool$recursive
array$folderNameFilterCallbackscallbacks for filtering the items
Returns
int Number of folders in folder

Implements TYPO3\CMS\Core\Resource\Driver\DriverInterface.

Definition at line 517 of file LocalDriver.php.

References TYPO3\CMS\Core\Utility\PathUtility\basename(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\getAbsoluteBasePath(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\getFoldersInFolder(), and TYPO3\CMS\Core\Resource\Driver\LocalDriver\sortDirectoryEntries().

◆ createFile()

◆ createFolder()

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

◆ createIdentifierMap()

TYPO3\CMS\Core\Resource\Driver\LocalDriver::createIdentifierMap ( array  $filesAndFolders,
  $sourceFolderIdentifier,
  $targetFolderIdentifier 
)
protected

Creates a map of old and new file/folder identifiers after renaming or moving a folder. The old identifier is used as the key, the new one as the value.

Parameters
array$filesAndFolders
string$sourceFolderIdentifier
string$targetFolderIdentifier
Returns
array
Exceptions
Exception

Definition at line 988 of file LocalDriver.php.

References TYPO3\CMS\Core\Resource\Driver\AbstractHierarchicalFilesystemDriver\canonicalizeAndCheckFileIdentifier(), TYPO3\CMS\Core\Resource\Driver\AbstractHierarchicalFilesystemDriver\canonicalizeAndCheckFolderIdentifier(), and TYPO3\CMS\Core\Resource\Driver\LocalDriver\getAbsolutePath().

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

◆ deleteFile()

TYPO3\CMS\Core\Resource\Driver\LocalDriver::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
Exceptions

Implements TYPO3\CMS\Core\Resource\Driver\DriverInterface.

Definition at line 1172 of file LocalDriver.php.

References TYPO3\CMS\Core\Resource\Driver\LocalDriver\getAbsolutePath(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\getRecycleDirectory(), and TYPO3\CMS\Core\Resource\Driver\LocalDriver\recycleFileOrFolder().

◆ deleteFolder()

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

◆ determineBaseUrl()

◆ dumpFileContents()

TYPO3\CMS\Core\Resource\Driver\LocalDriver::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

Implements TYPO3\CMS\Core\Resource\Driver\DriverInterface.

Definition at line 1410 of file LocalDriver.php.

References TYPO3\CMS\Core\Resource\Driver\AbstractHierarchicalFilesystemDriver\canonicalizeAndCheckFileIdentifier(), and TYPO3\CMS\Core\Resource\Driver\LocalDriver\getAbsolutePath().

◆ extractFileInformation()

TYPO3\CMS\Core\Resource\Driver\LocalDriver::extractFileInformation (   $filePath,
  $containerPath,
array  $propertiesToExtract = [] 
)
protected

Extracts information about a file from the filesystem.

Parameters
string$filePathThe absolute path to the file
string$containerPathThe relative path to the file's container
array$propertiesToExtractarray of properties which should be returned, if empty all will be extracted
Returns
array

Definition at line 649 of file LocalDriver.php.

References TYPO3\CMS\Core\Resource\Driver\AbstractDriver\$storageUid, TYPO3\CMS\Core\Utility\PathUtility\basename(), TYPO3\CMS\Core\Resource\Driver\AbstractHierarchicalFilesystemDriver\canonicalizeAndCheckFileIdentifier(), TYPO3\CMS\Core\Resource\Driver\AbstractHierarchicalFilesystemDriver\getParentFolderIdentifierOfIdentifier(), TYPO3\CMS\Core\Resource\Driver\AbstractDriver\hashIdentifier(), and TYPO3\CMS\Core\Utility\GeneralUtility\makeInstance().

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

◆ fileExists()

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

◆ fileExistsInFolder()

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

Checks if a file inside a folder exists

Parameters
string$fileName
string$folderIdentifier
Returns
bool

Implements TYPO3\CMS\Core\Resource\Driver\DriverInterface.

Definition at line 821 of file LocalDriver.php.

References TYPO3\CMS\Core\Resource\Driver\AbstractHierarchicalFilesystemDriver\canonicalizeAndCheckFileIdentifier(), and TYPO3\CMS\Core\Resource\Driver\LocalDriver\fileExists().

◆ folderExists()

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

◆ folderExistsInFolder()

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

Checks if a folder inside a folder exists.

Parameters
string$folderName
string$folderIdentifier
Returns
bool

Implements TYPO3\CMS\Core\Resource\Driver\DriverInterface.

Definition at line 848 of file LocalDriver.php.

References TYPO3\CMS\Core\Resource\Driver\AbstractHierarchicalFilesystemDriver\canonicalizeAndCheckFolderIdentifier(), and TYPO3\CMS\Core\Resource\Driver\LocalDriver\folderExists().

◆ getAbsoluteBasePath()

TYPO3\CMS\Core\Resource\Driver\LocalDriver::getAbsoluteBasePath ( )
protected

Returns the absolute path of the folder this driver operates on.

Returns
string

Definition at line 711 of file LocalDriver.php.

References TYPO3\CMS\Core\Resource\Driver\LocalDriver\$absoluteBasePath.

Referenced by TYPO3\CMS\Core\Resource\Driver\LocalDriver\countFoldersInFolder(), and TYPO3\CMS\Core\Resource\Driver\LocalDriver\sortDirectoryEntries().

◆ getAbsolutePath()

TYPO3\CMS\Core\Resource\Driver\LocalDriver::getAbsolutePath (   $fileIdentifier)
protected

Returns the absolute path of a file or folder.

Parameters
string$fileIdentifier
Returns
string
Exceptions
Exception

Definition at line 723 of file LocalDriver.php.

References TYPO3\CMS\Core\Resource\Driver\AbstractHierarchicalFilesystemDriver\canonicalizeAndCheckFileIdentifier().

Referenced by TYPO3\CMS\Core\Resource\Driver\LocalDriver\addFile(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\copyFileToTemporaryPath(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\copyFileWithinStorage(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\createFile(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\createFolder(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\createIdentifierMap(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\deleteFile(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\deleteFolder(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\dumpFileContents(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\fileExists(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\folderExists(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\getDirectoryItemList(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\getFileContents(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\getFileForLocalProcessing(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\getFileInfoByIdentifier(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\getPermissions(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\getRecycleDirectory(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\hash(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\isFolderEmpty(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\moveFileWithinStorage(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\moveFolderWithinStorage(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\renameFile(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\renameFolder(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\replaceFile(), and TYPO3\CMS\Core\Resource\Driver\LocalDriver\setFileContents().

◆ getCharsetConversion()

TYPO3\CMS\Core\Resource\Driver\LocalDriver::getCharsetConversion ( )
protected

◆ getDefaultFolder()

TYPO3\CMS\Core\Resource\Driver\LocalDriver::getDefaultFolder ( )

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

Returns
string

Implements TYPO3\CMS\Core\Resource\Driver\DriverInterface.

Definition at line 214 of file LocalDriver.php.

References TYPO3\CMS\Core\Resource\Driver\LocalDriver\createFolder(), and TYPO3\CMS\Core\Resource\Driver\LocalDriver\folderExists().

◆ getDirectoryItemList()

TYPO3\CMS\Core\Resource\Driver\LocalDriver::getDirectoryItemList (   $folderIdentifier,
  $start = 0,
  $numberOfItems = 0,
array  $filterMethods,
  $includeFiles = true,
  $includeDirs = true,
  $recursive = false,
  $sort = '',
  $sortRev = false 
)
protected

Generic wrapper for extracting a list of items from a path.

Parameters
string$folderIdentifier
int$startThe position to start the listing; if not set, start from the beginning
int$numberOfItemsThe number of items to list; if set to zero, all items are returned
array$filterMethodsThe filter methods used to filter the directory items
bool$includeFiles
bool$includeDirs
bool$recursive
string$sortProperty 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$sortRevTRUE to indicate reverse sorting (last to first)
Returns
array
Exceptions

Definition at line 362 of file LocalDriver.php.

References TYPO3\CMS\Core\Resource\Driver\LocalDriver\applyFilterMethodsToDirectoryItem(), TYPO3\CMS\Core\Resource\Driver\AbstractHierarchicalFilesystemDriver\canonicalizeAndCheckFolderIdentifier(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\getAbsolutePath(), and TYPO3\CMS\Core\Resource\Driver\AbstractHierarchicalFilesystemDriver\getParentFolderIdentifierOfIdentifier().

Referenced by TYPO3\CMS\Core\Resource\Driver\LocalDriver\getFilesInFolder(), and TYPO3\CMS\Core\Resource\Driver\LocalDriver\getFoldersInFolder().

◆ getFileContents()

TYPO3\CMS\Core\Resource\Driver\LocalDriver::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

Implements TYPO3\CMS\Core\Resource\Driver\DriverInterface.

Definition at line 1337 of file LocalDriver.php.

References TYPO3\CMS\Core\Resource\Driver\LocalDriver\getAbsolutePath().

◆ getFileForLocalProcessing()

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

Returns (a local copy of) a file for processing it. This makes a copy first when in writable mode, so if you change the file, you have to update it yourself afterwards.

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

Implements TYPO3\CMS\Core\Resource\Driver\DriverInterface.

Definition at line 1244 of file LocalDriver.php.

References TYPO3\CMS\Core\Resource\Driver\LocalDriver\copyFileToTemporaryPath(), and TYPO3\CMS\Core\Resource\Driver\LocalDriver\getAbsolutePath().

◆ getFileInfoByIdentifier()

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

Returns information about a file.

Parameters
string$fileIdentifierIn the case of the LocalDriver, this is the (relative) path to the file.
array$propertiesToExtractArray of properties which should be extracted, if empty all will be extracted
Returns
array
Exceptions

Implements TYPO3\CMS\Core\Resource\Driver\DriverInterface.

Definition at line 259 of file LocalDriver.php.

References TYPO3\CMS\Core\Resource\Driver\AbstractHierarchicalFilesystemDriver\canonicalizeAndCheckFolderIdentifier(), TYPO3\CMS\Core\Utility\PathUtility\dirname(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\extractFileInformation(), and TYPO3\CMS\Core\Resource\Driver\LocalDriver\getAbsolutePath().

◆ getFileInFolder()

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

Returns a file inside the specified path

Parameters
string$fileName
string$folderIdentifier
Returns
string File Identifier

Implements TYPO3\CMS\Core\Resource\Driver\DriverInterface.

Definition at line 449 of file LocalDriver.php.

References TYPO3\CMS\Core\Resource\Driver\AbstractHierarchicalFilesystemDriver\canonicalizeAndCheckFileIdentifier().

◆ getFilesInFolder()

TYPO3\CMS\Core\Resource\Driver\LocalDriver::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$filenameFilterCallbacksThe method callbacks to use for filtering the items
string$sortProperty 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$sortRevTRUE to indicate reverse sorting (last to first)
Returns
array of FileIdentifiers

Implements TYPO3\CMS\Core\Resource\Driver\DriverInterface.

Definition at line 470 of file LocalDriver.php.

References TYPO3\CMS\Core\Resource\Driver\LocalDriver\getDirectoryItemList().

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

◆ getFolderInfoByIdentifier()

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

◆ getFolderInFolder()

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

Returns the Identifier for a folder within a given folder.

Parameters
string$folderNameThe name of the target folder
string$folderIdentifier
Returns
string

Implements TYPO3\CMS\Core\Resource\Driver\DriverInterface.

Definition at line 862 of file LocalDriver.php.

References TYPO3\CMS\Core\Resource\Driver\AbstractHierarchicalFilesystemDriver\canonicalizeAndCheckFolderIdentifier().

◆ getFoldersInFolder()

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

Returns a list of folders inside the specified path

Parameters
string$folderIdentifier
int$start
int$numberOfItems
bool$recursive
array$folderNameFilterCallbacksThe method callbacks to use for filtering the items
string$sortProperty 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$sortRevTRUE to indicate reverse sorting (last to first)
Returns
array of Folder Identifier

Implements TYPO3\CMS\Core\Resource\Driver\DriverInterface.

Definition at line 504 of file LocalDriver.php.

References TYPO3\CMS\Core\Resource\Driver\LocalDriver\getDirectoryItemList().

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

◆ getPermissions()

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

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

Parameters
string$identifier
Returns
array
Exceptions
Exception

Implements TYPO3\CMS\Core\Resource\Driver\DriverInterface.

Definition at line 1260 of file LocalDriver.php.

References TYPO3\CMS\Core\Resource\Driver\LocalDriver\getAbsolutePath().

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

◆ getPublicUrl()

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

Returns the public URL to a file. For the local driver, this will always return a path relative to PATH_site.

Parameters
string$identifier
Returns
string
Exceptions

Implements TYPO3\CMS\Core\Resource\Driver\DriverInterface.

Definition at line 187 of file LocalDriver.php.

◆ getRecycleDirectory()

TYPO3\CMS\Core\Resource\Driver\LocalDriver::getRecycleDirectory (   $path)
protected

◆ getRole()

TYPO3\CMS\Core\Resource\Driver\LocalDriver::getRole (   $folderIdentifier)

Returns the role of an item (currently only folders; can later be extended for files as well)

Parameters
string$folderIdentifier
Returns
string

Definition at line 1392 of file LocalDriver.php.

References TYPO3\CMS\Core\Utility\PathUtility\basename(), and TYPO3\CMS\Core\Resource\FolderInterface\ROLE_DEFAULT.

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

◆ getRootLevelFolder()

TYPO3\CMS\Core\Resource\Driver\LocalDriver::getRootLevelFolder ( )

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

Returns
string

Implements TYPO3\CMS\Core\Resource\Driver\DriverInterface.

Definition at line 204 of file LocalDriver.php.

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

◆ hash()

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

Creates a (cryptographic) hash for a file.

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

Implements TYPO3\CMS\Core\Resource\Driver\DriverInterface.

Definition at line 739 of file LocalDriver.php.

References TYPO3\CMS\Core\Resource\Driver\LocalDriver\getAbsolutePath().

◆ initialize()

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

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

Returns
void

Implements TYPO3\CMS\Core\Resource\Driver\DriverInterface.

Definition at line 117 of file LocalDriver.php.

◆ isFolderEmpty()

TYPO3\CMS\Core\Resource\Driver\LocalDriver::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

Implements TYPO3\CMS\Core\Resource\Driver\DriverInterface.

Definition at line 1220 of file LocalDriver.php.

References TYPO3\CMS\Core\Resource\Driver\LocalDriver\getAbsolutePath().

◆ isWithin()

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

Checks if a given identifier is within a container, e.g. if a file or folder is within another folder. It will also return TRUE if both canonicalized identifiers are equal.

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

Implements TYPO3\CMS\Core\Resource\Driver\DriverInterface.

Definition at line 1282 of file LocalDriver.php.

References TYPO3\CMS\Core\Resource\Driver\AbstractHierarchicalFilesystemDriver\canonicalizeAndCheckFileIdentifier(), and TYPO3\CMS\Core\Utility\GeneralUtility\isFirstPartOfStr().

◆ mergeConfigurationCapabilities()

TYPO3\CMS\Core\Resource\Driver\LocalDriver::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
int$capabilities
Returns
int

Implements TYPO3\CMS\Core\Resource\Driver\DriverInterface.

Definition at line 90 of file LocalDriver.php.

References TYPO3\CMS\Core\Resource\Driver\AbstractDriver\$capabilities.

◆ moveFileWithinStorage()

TYPO3\CMS\Core\Resource\Driver\LocalDriver::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
Exceptions

Implements TYPO3\CMS\Core\Resource\Driver\DriverInterface.

Definition at line 924 of file LocalDriver.php.

References TYPO3\CMS\Core\Resource\Driver\AbstractHierarchicalFilesystemDriver\canonicalizeAndCheckFileIdentifier(), and TYPO3\CMS\Core\Resource\Driver\LocalDriver\getAbsolutePath().

◆ moveFolderWithinStorage()

◆ processConfiguration()

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

◆ recycleFileOrFolder()

TYPO3\CMS\Core\Resource\Driver\LocalDriver::recycleFileOrFolder (   $filePath,
  $recycleDirectory 
)
protected

Moves a file or folder to the given directory, renaming the source in the process if a file or folder of the same name already exists in the target path.

Parameters
string$filePath
string$recycleDirectory
Returns
bool

Definition at line 966 of file LocalDriver.php.

References TYPO3\CMS\Core\Utility\PathUtility\basename().

Referenced by TYPO3\CMS\Core\Resource\Driver\LocalDriver\deleteFile(), and TYPO3\CMS\Core\Resource\Driver\LocalDriver\deleteFolder().

◆ renameFile()

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

◆ renameFolder()

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

◆ replaceFile()

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

Replaces the contents (and file-specific metadata) of a file object with a local file.

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

Implements TYPO3\CMS\Core\Resource\Driver\DriverInterface.

Definition at line 876 of file LocalDriver.php.

References TYPO3\CMS\Core\Utility\GeneralUtility\fixPermissions(), and TYPO3\CMS\Core\Resource\Driver\LocalDriver\getAbsolutePath().

◆ sanitizeFileName()

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

Returns a string where any character not matching [.a-zA-Z0-9_-] is substituted by '_' Trailing dots are removed

Previously in ::cleanFileName()

Parameters
string$fileNameInput string, typically the body of a fileName
string$charsetCharset of the a fileName (defaults to current charset; depending on context)
Returns
string Output string with any characters not matching [.a-zA-Z0-9_-] is substituted by '_' and trailing dots removed
Exceptions
Exception

Implements TYPO3\CMS\Core\Resource\Driver\DriverInterface.

Definition at line 309 of file LocalDriver.php.

References $GLOBALS, and TYPO3\CMS\Core\Resource\Driver\LocalDriver\getCharsetConversion().

Referenced by TYPO3\CMS\Core\Resource\Driver\LocalDriver\addFile(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\createFile(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\createFolder(), TYPO3\CMS\Core\Resource\Driver\LocalDriver\renameFile(), and TYPO3\CMS\Core\Resource\Driver\LocalDriver\renameFolder().

◆ setFileContents()

TYPO3\CMS\Core\Resource\Driver\LocalDriver::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
Exceptions

Implements TYPO3\CMS\Core\Resource\Driver\DriverInterface.

Definition at line 1351 of file LocalDriver.php.

References TYPO3\CMS\Core\Resource\Driver\LocalDriver\getAbsolutePath().

◆ sortDirectoryEntries()

TYPO3\CMS\Core\Resource\Driver\LocalDriver::sortDirectoryEntries (   $directoryEntries,
  $sort = '',
  $sortRev = false 
)
protected

Sort the directory entries by a certain key

Parameters
array$directoryEntriesArray of directory entry arrays from retrieveFileAndFoldersInPath()
string$sortProperty 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$sortRevTRUE to indicate reverse sorting (last to first)
Returns
array Sorted entries. Content of the keys is undefined.

Definition at line 590 of file LocalDriver.php.

References TYPO3\CMS\Core\Resource\Driver\LocalDriver\getAbsoluteBasePath(), and TYPO3\CMS\Core\Resource\Driver\LocalDriver\getPermissions().

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

Member Data Documentation

◆ $absoluteBasePath

TYPO3\CMS\Core\Resource\Driver\LocalDriver::$absoluteBasePath
protected

◆ $baseUri

TYPO3\CMS\Core\Resource\Driver\LocalDriver::$baseUri = null
protected

Definition at line 55 of file LocalDriver.php.

◆ $charsetConversion

TYPO3\CMS\Core\Resource\Driver\LocalDriver::$charsetConversion
protected

◆ $mappingFolderNameToRole

TYPO3\CMS\Core\Resource\Driver\LocalDriver::$mappingFolderNameToRole
protected
Initial value:
= [

Definition at line 63 of file LocalDriver.php.

◆ $supportedHashAlgorithms

TYPO3\CMS\Core\Resource\Driver\LocalDriver::$supportedHashAlgorithms = ['sha1', 'md5']
protected

Definition at line 47 of file LocalDriver.php.

◆ UNSAFE_FILENAME_CHARACTER_EXPRESSION

const TYPO3\CMS\Core\Resource\Driver\LocalDriver::UNSAFE_FILENAME_CHARACTER_EXPRESSION = '\\x00-\\x2C\\/\\x3A-\\x3F\\x5B-\\x60\\x7B-\\xBF'

Definition at line 33 of file LocalDriver.php.