36 $this->magic = $magic;
68 $info[
'fileExists'] = $fsFile->exists();
69 if ( $info[
'fileExists'] ) {
70 $info[
'size'] = $fsFile->getSize();
71 $info[
'sha1'] = $fsFile->getSha1Base36();
73 # MIME type according to file contents
74 $info[
'file-mime'] = $this->magic->guessMimeType(
$path,
false );
78 # XXX: MimeAnalyzer::improveTypeFromExtension() may return null (T253483).
79 # Unclear if callers of this method expect that.
80 $info[
'mime'] = $this->magic->improveTypeFromExtension( $info[
'file-mime'],
$ext );
82 list( $info[
'major_mime'], $info[
'minor_mime'] ) = File::splitMime( $info[
'mime'] );
83 $info[
'media_type'] = $this->magic->getMediaType(
$path, $info[
'mime'] );
85 # Height, width and metadata
89 $sizeAndMetadata = $handler->getSizeAndMetadataWithFallback( $fsFile,
$path );
90 if ( $sizeAndMetadata ) {
91 $info = $sizeAndMetadata + $info;
Class representing a non-directory file on the file system.
static placeholderProps()
Placeholder file properties to use for files that don't exist.
static extensionFromPath( $path, $case='lowercase')
Get the final extension from a storage or FS path.
MimeMagic helper wrapper.
getPropsFromPath( $path, $ext)
Get an associative array containing information about a file with the given storage path.
newPlaceholderProps()
Empty place holder props for non-existing files.
__construct(MimeAnalyzer $magic)
if(!is_readable( $file)) $ext