function file_get_mimetype

Determines an Internet Media Type or MIME type from a filename.


$uri: A string containing the URI, path, or filename.

$mapping: An optional map of extensions to their mimetypes, in the form:

  • 'mimetypes': a list of mimetypes, keyed by an identifier,
  • 'extensions': the mapping itself, an associative array in which the key is the extension (lowercase) and the value is the mimetype identifier. If $mapping is NULL file_mimetype_mapping() is called.

Return value

The internet media type registered for the extension or application/octet-stream for unknown extensions.

See also


Related topics

6 calls to file_get_mimetype()
FileMimeTypeTest::testFileMimeTypeDetection in drupal/modules/simpletest/tests/file.test
Test mapping of mimetypes from filenames.
file_save_data in drupal/includes/
Saves a file to the specified destination and creates a database entry.
file_save_upload in drupal/includes/
Saves a file upload to a new location.
system_theme_settings_submit in drupal/modules/system/
Process system_theme_settings form submissions.
theme_file_link in drupal/modules/file/file.module
Returns HTML for a link to a file.

... See full list


drupal/includes/, line 2217
API for handling file uploads and server file management.


function file_get_mimetype($uri, $mapping = NULL) {
  if ($wrapper = file_stream_wrapper_get_instance_by_uri($uri)) {
    return $wrapper
      ->getMimeType($uri, $mapping);
  else {

    // getMimeType() is not implementation specific, so we can directly
    // call it without an instance.
    return DrupalLocalStreamWrapper::getMimeType($uri, $mapping);