56 $info[
'fileExists'] = $fsFile->exists();
57 if ( $info[
'fileExists'] ) {
58 $info[
'size'] = $fsFile->getSize();
59 $info[
'sha1'] = $fsFile->getSha1Base36();
61 # MIME type according to file contents
62 $info[
'file-mime'] = $this->magic->guessMimeType(
$path,
false );
64 $ext = ( $ext === true ) ? FileBackend::extensionFromPath(
$path ) : (string)$ext;
66 # XXX: MimeAnalyzer::improveTypeFromExtension() may return null (T253483).
67 # Unclear if callers of this method expect that.
68 $info[
'mime'] = $this->magic->improveTypeFromExtension( $info[
'file-mime'], $ext );
70 [ $info[
'major_mime'], $info[
'minor_mime'] ] = File::splitMime( $info[
'mime'] );
71 $info[
'media_type'] = $this->magic->getMediaType(
$path, $info[
'mime'] );
73 # Height, width and metadata
75 $handler = MediaHandler::getHandler( $info[
'mime'] );
77 $sizeAndMetadata = $handler->getSizeAndMetadataWithFallback( $fsFile,
$path );
78 if ( $sizeAndMetadata ) {
79 $info = $sizeAndMetadata + $info;