70 $info[
'fileExists'] = $fsFile->exists();
71 if ( $info[
'fileExists'] ) {
72 $info[
'size'] = $fsFile->getSize();
73 $info[
'sha1'] = $fsFile->getSha1Base36();
75 # MIME type according to file contents
76 $info[
'file-mime'] = $this->magic->guessMimeType(
$path,
false );
78 $ext = ( $ext === true ) ? FileBackend::extensionFromPath(
$path ) : (string)$ext;
80 # XXX: MimeAnalyzer::improveTypeFromExtension() may return null (T253483).
81 # Unclear if callers of this method expect that.
82 $info[
'mime'] = $this->magic->improveTypeFromExtension( $info[
'file-mime'], $ext );
84 [ $info[
'major_mime'], $info[
'minor_mime'] ] = File::splitMime( $info[
'mime'] );
85 $info[
'media_type'] = $this->magic->getMediaType(
$path, $info[
'mime'] );
87 # Height, width and metadata
89 $handler = MediaHandler::getHandler( $info[
'mime'] );
91 $sizeAndMetadata = $handler->getSizeAndMetadataWithFallback( $fsFile,
$path );
92 if ( $sizeAndMetadata ) {
93 $info = $sizeAndMetadata + $info;