function hook_file_mimetype_mapping_alter

Same name and namespace in other branches
  1. 7.x modules/system/system.api.php \hook_file_mimetype_mapping_alter()
  2. 9 core/lib/Drupal/Core/File/file.api.php \hook_file_mimetype_mapping_alter()
  3. 8.9.x core/lib/Drupal/Core/File/file.api.php \hook_file_mimetype_mapping_alter()
  4. 10 core/lib/Drupal/Core/File/file.api.php \hook_file_mimetype_mapping_alter()

Alter MIME type mappings used to determine MIME type from a file extension.

Parameters

array $mapping: An array of mimetypes correlated to the extensions that relate to them. The array has 'mimetypes' and 'extensions' elements, each of which is an array.

Deprecated

in drupal:11.2.0 and is removed from drupal:12.0.0. Create a \Drupal\Core\File\Event\MimeTypeMapLoadedEvent subscriber instead.

It is used to allow modules to add to or modify the default mapping of MIME type to file extensions.

See also

https://www.drupal.org/node/3494040

\Drupal\Core\File\EventSubscriber\LegacyMimeTypeMapLoadedSubscriber

\Drupal\Core\File\MimeType\ExtensionMimeTypeGuesser::guessMimeType()

\Drupal\Core\File\MimeType\ExtensionMimeTypeGuesser::$defaultMapping

Related topics

1 function implements hook_file_mimetype_mapping_alter()

Note: the procedural functions in this list are found by pattern matching, so the list may include some functions that are not actually implementations of this hook.

file_deprecated_test_file_mimetype_mapping_alter in core/modules/file/tests/file_deprecated_test/file_deprecated_test.module
Implements hook_file_mimetype_mapping_alter().

File

core/lib/Drupal/Core/File/file.api.php, line 128

Code

function hook_file_mimetype_mapping_alter(&$mapping) {
  // Add new MIME type 'drupal/info'.
  $mapping['mimetypes']['example_info'] = 'drupal/info';
  // Add new extension '.info.yml' and map it to the 'drupal/info' MIME type.
  $mapping['extensions']['info'] = 'example_info';
  // Override existing extension mapping for '.ogg' files.
  $mapping['extensions']['ogg'] = 189;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.