function MimeTypeGuesser::guessMimeType

Same name in this branch
  1. 11.x core/lib/Drupal/Core/ProxyClass/File/MimeType/MimeTypeGuesser.php \Drupal\Core\ProxyClass\File\MimeType\MimeTypeGuesser::guessMimeType()
Same name and namespace in other branches
  1. 10 core/lib/Drupal/Core/File/MimeType/MimeTypeGuesser.php \Drupal\Core\File\MimeType\MimeTypeGuesser::guessMimeType()
  2. 10 core/lib/Drupal/Core/ProxyClass/File/MimeType/MimeTypeGuesser.php \Drupal\Core\ProxyClass\File\MimeType\MimeTypeGuesser::guessMimeType()
  3. 9 core/lib/Drupal/Core/File/MimeType/MimeTypeGuesser.php \Drupal\Core\File\MimeType\MimeTypeGuesser::guessMimeType()
  4. 9 core/lib/Drupal/Core/ProxyClass/File/MimeType/MimeTypeGuesser.php \Drupal\Core\ProxyClass\File\MimeType\MimeTypeGuesser::guessMimeType()
  5. main core/lib/Drupal/Core/File/MimeType/MimeTypeGuesser.php \Drupal\Core\File\MimeType\MimeTypeGuesser::guessMimeType()
  6. main core/lib/Drupal/Core/ProxyClass/File/MimeType/MimeTypeGuesser.php \Drupal\Core\ProxyClass\File\MimeType\MimeTypeGuesser::guessMimeType()

File

core/lib/Drupal/Core/File/MimeType/MimeTypeGuesser.php, line 31

Class

MimeTypeGuesser
Defines a MIME type guesser that also supports stream wrapper paths.

Namespace

Drupal\Core\File\MimeType

Code

public function guessMimeType(string $path) : ?string {
  if ($wrapper = $this->streamWrapperManager
    ->getViaUri($path)) {
    // Get the real path from the stream wrapper, if available. Files stored
    // in remote file systems will not have one.
    $real_path = $wrapper->realpath();
    if ($real_path !== FALSE) {
      $path = $real_path;
    }
  }
  foreach ($this->guessers as $guesser) {
    if ($guesser->isGuesserSupported()) {
      $mime_type = $guesser->guessMimeType($path);
      if ($mime_type !== NULL) {
        return $mime_type;
      }
    }
  }
  return 'application/octet-stream';
}

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