‪TYPO3CMS  ‪main
TYPO3\CMS\Core\Resource\File Class Reference
Inheritance diagram for TYPO3\CMS\Core\Resource\File:
TYPO3\CMS\Core\Resource\AbstractFile TYPO3\CMS\Core\Resource\FileInterface TYPO3\CMS\Core\Resource\ResourceInterface

Public Member Functions

 __construct (array $fileData, ResourceStorage $storage, array $metaData=[])
 getProperty (string $key)
 hasProperty ($key)
 getProperties ()
 getContents ()
non empty string getSha1 ()
$this setContents (string $contents)
 isIndexed ()
 updateProperties (array $properties)
array getUpdatedProperties ()
bool checkActionPermission ($action)
string calculateChecksum ()
 process (string $taskType, array $configuration)
array< non-empty-string, toArray():array { $array=['id'=> $this getCombinedIdentifier ()
bool isMissing ()
 setMissing ($missing)
 getPublicUrl ()
mixed _getPropertyRaw ($key)
 getMetaData ()
- ‪Public Member Functions inherited from ‪TYPO3\CMS\Core\Resource\AbstractFile
 hasProperty (string $key)
 getIdentifier ()
non empty string getHashedIdentifier ()
 getName ()
 getNameWithoutExtension ()
int< 0, getSize():int { if( $this->deleted) { throw new \RuntimeException( 'File has been deleted.', 1329821480);} if(empty( $this->properties[ 'size'])) { $fileInfo=$this-> getStorage () -> getFileInfoByIdentifier($this->getIdentifier(), ['size'])
return MathUtility::canBeInterpretedAsInteger($size) ?(int) $size int getUid ()
 getCreationTime ()
 getModificationTime ()
 getExtension ()
non empty string getMimeType ()
int getType ()
bool isImage ()
bool isMediaFile ()
bool isTextFile ()
 getStorage ()
bool exists ()
$this setStorage (ResourceStorage $storage)
$this setIdentifier ($identifier)
 delete ()
 setDeleted ()
bool isDeleted ()
 rename (string $newName, string $conflictMode=DuplicationBehavior::RENAME)
File copyTo (Folder $targetFolder, $targetFileName=null, $conflictMode=DuplicationBehavior::RENAME)
File moveTo (Folder $targetFolder, $targetFileName=null, $conflictMode=DuplicationBehavior::RENAME)
non empty string getForLocalProcessing (bool $writable=true)
 getParentFolder ()

Public Attributes

array< non-empty-string, toArray():array { $array=['id'=> $this foreach($this->properties as $key=> $value) $stat = $this->getStorage()->getFileInfo($this)
foreach($stat as $key=> $value) return $array
- ‪Public Attributes inherited from ‪TYPO3\CMS\Core\Resource\AbstractFile
array< non-empty-string, function getProperties() { return $this-> properties
 $size = array_pop($fileInfo)

Protected Attributes

array $updatedProperties = array( )
- ‪Protected Attributes inherited from ‪TYPO3\CMS\Core\Resource\AbstractFile
array $properties = []
ResourceStorage null $storage
string $identifier
string $name
bool $deleted = false

Private Attributes

MetaDataAspect $metaDataAspect

Detailed Description

File representation in the file abstraction layer.

Definition at line 25 of file File.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Core\Resource\File::__construct ( array  $fileData,
ResourceStorage  $storage,
array  $metaData = [] 

Constructor for a file object. Should normally not be used directly, use the corresponding factory methods instead.

Definition at line 42 of file File.php.

References TYPO3\CMS\Core\Resource\AbstractFile\$storage, TYPO3\CMS\Core\Resource\File\getMetaData(), and TYPO3\CMS\Core\Resource\AbstractFile\properties.

Member Function Documentation

◆ _getPropertyRaw()

mixed TYPO3\CMS\Core\Resource\File::_getPropertyRaw (   $key)

Only for use in Repositories and indexer


Definition at line 314 of file File.php.

Referenced by TYPO3\CMS\Core\Resource\Index\FileIndexRepository\add(), TYPO3\CMS\Core\Resource\Index\FileIndexRepository\hasIndexRecord(), and TYPO3\CMS\Core\Resource\Index\FileIndexRepository\update().

◆ calculateChecksum()

string TYPO3\CMS\Core\Resource\File::calculateChecksum ( )

Creates a MD5 hash checksum based on the combined identifier of the file, the files' mimetype and the systems' encryption key. used to generate a thumbnail, and this hash is checked if valid

‪string the MD5 hash

Definition at line 223 of file File.php.

References $GLOBALS, TYPO3\CMS\Core\Resource\File\getCombinedIdentifier(), and TYPO3\CMS\Core\Resource\AbstractFile\getMimeType().

◆ checkActionPermission()

bool TYPO3\CMS\Core\Resource\File::checkActionPermission (   $action)

Check if a file operation (= action) is allowed for this file

string$action‪can be read, write, delete

Definition at line 208 of file File.php.

References TYPO3\CMS\Core\Resource\AbstractFile\getStorage().

Referenced by TYPO3\CMS\Filelist\FileList\getSortingValueForFile(), and TYPO3\CMS\Filelist\FileList\isEditMetadataAllowed().

◆ getCombinedIdentifier()

array<non-empty-string, toArray(): array { $array = [ 'id' => $this TYPO3\CMS\Core\Resource\File::getCombinedIdentifier ( )

Returns an array representation of the file. (This is used by the generic listing module vidi when displaying file records.)

‪array<non-empty-string, mixed> Array of main data of the file. Don't rely on all data to be present here, it's just a selection of the most relevant information.

Reimplemented from TYPO3\CMS\Core\Resource\AbstractFile.

References TYPO3\CMS\Core\Resource\File\$array.

Referenced by TYPO3\CMS\Core\Resource\File\calculateChecksum(), and TYPO3\CMS\Core\Resource\FileReference\getCombinedIdentifier().

◆ getContents()

◆ getMetaData()

◆ getProperties()

TYPO3\CMS\Core\Resource\File::getProperties ( )

◆ getProperty()

◆ getPublicUrl()

TYPO3\CMS\Core\Resource\File::getPublicUrl ( )

Returns a publicly accessible URL for this file When file is marked as missing or deleted no url is returned

WARNING: Access to the file may be restricted by further means, e.g. some web-based authentication. You have to take care of this yourself.

Reimplemented from TYPO3\CMS\Core\Resource\AbstractFile.

Definition at line 301 of file File.php.

References TYPO3\CMS\Core\Resource\File\getPublicUrl(), TYPO3\CMS\Core\Resource\AbstractFile\getStorage(), and TYPO3\CMS\Core\Resource\File\isMissing().

Referenced by TYPO3\CMS\Core\Resource\File\getPublicUrl(), TYPO3\CMS\Core\Resource\FileReference\getPublicUrl(), TYPO3\CMS\Core\Resource\AbstractFile\getPublicUrl(), and TYPO3\CMS\Core\Resource\ProcessedFile\getPublicUrl().

◆ getSha1()

non empty string TYPO3\CMS\Core\Resource\File::getSha1 ( )

Gets SHA1 hash.


Reimplemented from TYPO3\CMS\Core\Resource\AbstractFile.

Definition at line 114 of file File.php.

References TYPO3\CMS\Core\Resource\AbstractFile\properties.

Referenced by TYPO3\CMS\Core\Resource\ProcessedFile\__construct(), and TYPO3\CMS\Core\Resource\FileReference\getSha1().

◆ getUpdatedProperties()

array TYPO3\CMS\Core\Resource\File::getUpdatedProperties ( )

Returns the names of all properties that have been updated in this record


Definition at line 194 of file File.php.

References TYPO3\CMS\Core\Resource\File\$updatedProperties.

Referenced by TYPO3\CMS\Core\Resource\Index\FileIndexRepository\update().

◆ hasProperty()

TYPO3\CMS\Core\Resource\File::hasProperty (   $key)

Checks if the file has a (metadata) property which can be retrieved by "getProperty"


Definition at line 76 of file File.php.

References TYPO3\CMS\Core\Resource\File\getMetaData().

Referenced by TYPO3\CMS\Filelist\FileList\getSortingValueForFile().

◆ isIndexed()

TYPO3\CMS\Core\Resource\File::isIndexed ( )

Returns TRUE if this file is indexed

Definition at line 139 of file File.php.

Referenced by TYPO3\CMS\Filelist\Dto\ResourceView\canEditMetadata(), and TYPO3\CMS\Filelist\FileList\isEditMetadataAllowed().

◆ isMissing()

bool TYPO3\CMS\Core\Resource\File::isMissing ( )

◆ process()

TYPO3\CMS\Core\Resource\File::process ( string  $taskType,
array  $configuration 

Returns a modified version of the file.

string$taskType‪The task type of this processing
array$configuration‪the processing configuration, see manual for that

Definition at line 238 of file File.php.

References TYPO3\CMS\Core\Resource\AbstractFile\getStorage().

Referenced by TYPO3\CMS\Extbase\Service\ImageService\applyProcessingInstructions(), and TYPO3\CMS\Backend\Controller\File\FileController\flattenFileResultDataValue().

◆ setContents()

$this TYPO3\CMS\Core\Resource\File::setContents ( string  $contents)

Replace the current file contents with the given string


Reimplemented from TYPO3\CMS\Core\Resource\AbstractFile.

Definition at line 127 of file File.php.

References TYPO3\CMS\Core\Resource\AbstractFile\getStorage().

Referenced by TYPO3\CMS\Core\Resource\FileReference\setContents().

◆ setMissing()

TYPO3\CMS\Core\Resource\File::setMissing (   $missing)

Definition at line 289 of file File.php.

References TYPO3\CMS\Core\Resource\File\updateProperties().

◆ updateProperties()

TYPO3\CMS\Core\Resource\File::updateProperties ( array  $properties)

Updates the properties of this file, e.g. after re-indexing or moving it. By default, only properties that exist as a key in the $properties array are overwritten. If you want to explicitly unset a property, set the corresponding key to NULL in the array.

NOTE: This method should not be called from outside the File Abstraction Layer (FAL)!


Reimplemented from TYPO3\CMS\Core\Resource\AbstractFile.

Definition at line 155 of file File.php.

References TYPO3\CMS\Core\Resource\AbstractFile\$properties, TYPO3\CMS\Core\Resource\AbstractFile\getType(), and TYPO3\CMS\Core\Resource\AbstractFile\properties.

Referenced by TYPO3\CMS\Core\Resource\Index\FileIndexRepository\add(), TYPO3\CMS\Core\Resource\Index\Indexer\processChangedAndNewFiles(), TYPO3\CMS\Core\Resource\File\setMissing(), and TYPO3\CMS\Core\Resource\Index\Indexer\updateIndexEntry().

Member Data Documentation

◆ $array

foreach ( $stat as $key=> $value) return TYPO3\CMS\Core\Resource\File::$array

Definition at line 275 of file File.php.

Referenced by TYPO3\CMS\Core\Resource\File\getCombinedIdentifier().

◆ $metaDataAspect

MetaDataAspect TYPO3\CMS\Core\Resource\File::$metaDataAspect

Definition at line 36 of file File.php.

Referenced by TYPO3\CMS\Core\Resource\File\getMetaData().

◆ $stat

array<non-empty-string, toArray(): array { $array = [ 'id' => $this foreach ( $this->properties as $key=> $value) TYPO3\CMS\Core\Resource\File::$stat = $this->getStorage()->getFileInfo($this)

Definition at line 271 of file File.php.

◆ $updatedProperties

array TYPO3\CMS\Core\Resource\File::$updatedProperties = array( )

Contains the names of all properties that have been update since the instantiation of this object

Definition at line 32 of file File.php.

Referenced by TYPO3\CMS\Core\Resource\File\getUpdatedProperties().