Feature #60019

Create utility function to get the file mimetype depending on available php modules

Added by Sascha Egerer over 5 years ago. Updated about 1 year ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
File Abstraction Layer (FAL)
Target version:
Start date:
2014-07-01
Due date:
% Done:

100%

PHP Version:
5.5
Tags:
Complexity:
Sprint Focus:

Description

TYPO3 does currently use finfo_file to get the mime type of a file. This does only work if the finfo module is loaded in PHP.
dkd is currently working with Microsoft to get TYPO3 working in the Microsoft Azure Web Gallery and there is no finfo module installed by default.

To get this code a little bit more portable there should be a wrapper function that checks if the finfo exsists and if not use mime_content_type.


Related issues

Related to TYPO3 Core - Bug #85641: mimeTypeGuessers hook of FileInfo is broken Closed 2018-07-25
Duplicated by TYPO3 Core - Task #46777: Improve behaviour when mime type detection is missing Closed 2013-03-29
Precedes TYPO3 Core - Bug #64929: Fix filesize Unittest on windows with CRLF Closed 2015-02-08

Associated revisions

Revision e372399b (diff)
Added by Sascha Egerer over 4 years ago

[FEATURE] Add SplFileInfo implementation to get file mimeType

\TYPO3\CMS\Core\Type\File\FileInfo provides a new method
getMimeType() to get the MIME type of a file, e.g. text/html.

Custom implementations to determine the MIME type can be added
with the hook:

$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS'][\TYPO3\CMS\Core\Type\File\FileInfo::class]['mimeTypeGuessers']

The FAL LocalDriver also uses this new API.

Resolves: #60019
References: #46777
Releases: master
Change-Id: Ia2fa95d2ef6452f8022e33f1b1d2a9336f3e0303
Reviewed-on: http://review.typo3.org/31256
Reviewed-by: Mathias Schreiber <>
Tested-by: Mathias Schreiber <>
Reviewed-by: Frans Saris <>
Reviewed-by: Helmut Hummel <>
Reviewed-by: Stefan Neufeind <>
Tested-by: Stefan Neufeind <>
Tested-by: Steffen Müller <>
Reviewed-by: Steffen Müller <>

Revision 0bff11e1 (diff)
Added by Andreas Fernandez about 1 year ago

[BUGFIX] Use correct hook name for mime type guessers

Resolves: #85641
Related: #60019
Releases: master, 8.7, 7.6
Change-Id: If9c94c020da6991dc070fa6aa8395042686b2752
Reviewed-on: https://review.typo3.org/57679
Reviewed-by: Wouter Wolters <>
Tested-by: Wouter Wolters <>
Reviewed-by: Markus Klein <>
Tested-by: Markus Klein <>
Tested-by: TYPO3com <>

Revision d41d530e (diff)
Added by Andreas Fernandez about 1 year ago

[BUGFIX] Use correct hook name for mime type guessers

Resolves: #85641
Related: #60019
Releases: master, 8.7, 7.6
Change-Id: If9c94c020da6991dc070fa6aa8395042686b2752
Reviewed-on: https://review.typo3.org/57681
Tested-by: TYPO3com <>
Reviewed-by: Markus Klein <>
Tested-by: Markus Klein <>

Revision 2fc704f6 (diff)
Added by Andreas Fernandez about 1 year ago

[BUGFIX] Use correct hook name for mime type guessers

Resolves: #85641
Related: #60019
Releases: master, 8.7, 7.6
Change-Id: If9c94c020da6991dc070fa6aa8395042686b2752
Reviewed-on: https://review.typo3.org/57680
Tested-by: TYPO3com <>
Reviewed-by: Markus Klein <>
Tested-by: Markus Klein <>

History

#1 Updated by Gerrit Code Review over 5 years ago

  • Status changed from New to Under Review

Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/31256

#2 Updated by Gerrit Code Review over 5 years ago

Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/31256

#3 Updated by Gerrit Code Review about 5 years ago

Patch set 7 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/31256

#4 Updated by Ingo Schmitt almost 5 years ago

  • Category set to File Abstraction Layer (FAL)

#5 Updated by Sascha Egerer over 4 years ago

  • Target version set to next-patchlevel
  • Sprint Focus set to On Location Sprint

#6 Updated by Gerrit Code Review over 4 years ago

Patch set 8 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/31256

#7 Updated by Gerrit Code Review over 4 years ago

Patch set 9 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/31256

#8 Updated by Gerrit Code Review over 4 years ago

Patch set 10 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/31256

#9 Updated by Gerrit Code Review over 4 years ago

Patch set 11 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/31256

#10 Updated by Gerrit Code Review over 4 years ago

Patch set 12 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/31256

#11 Updated by Gerrit Code Review over 4 years ago

Patch set 13 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/31256

#12 Updated by Anonymous over 4 years ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100

#13 Updated by Stephan Großberndt over 4 years ago

  • Tracker changed from Bug to Feature

#14 Updated by Beltran Rueda over 4 years ago

I could reproduce the following issue on Windows using 7.1.0 version:

PHP Fatal error:  Class 'finfo' not found in ...\typo3\sysext\core\Classes\Type\File\FileInfo.php on line 33

Replacing the following in the FileInfo.php file fixes the issue. Could you confirm this fix is correct?

if (!function_exists('finfo_file')) {

with:

if (function_exists('finfo_file')) {

#15 Updated by Wouter Wolters over 4 years ago

Hi, this has been fixed meanwhile with https://review.typo3.org/#/c/37205/

#16 Updated by Anja Leichsenring almost 4 years ago

  • Sprint Focus deleted (On Location Sprint)

#17 Updated by Andreas Fernandez about 1 year ago

  • Related to Bug #85641: mimeTypeGuessers hook of FileInfo is broken added

#18 Updated by Benni Mack about 1 year ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF