checkDefaultMapping(); $mime_key = array_search($mimetype, $this->mapping['mimetypes']); $extension = array_search($mime_key, $this->mapping['extensions']); return $extension; } /** * Convert mime type to most common extension. * * @param string $mimetype * Mime type. * * @return string|bool * Return extension if found, FALSE otherwise. */ public function convertMimeTypeToMostCommonExtension($mimetype) { $this->checkDefaultMapping(); $extension = FALSE; if (isset($mimetype)) { // See if this matches a known MIME type. $mime_key = array_search($mimetype, $this->mapping['mimetypes']); if ($mime_key !== FALSE) { // If we have a match, get this list of likely extensions. For some // reason Drupal lists the "most common" extension last for most file // types including php, jpg, and doc. if ($extensions = array_keys($this->mapping['extensions'], $mime_key)) { $extension = end($extensions); } } } return $extension; } /** * Check for default mapping. */ private function checkDefaultMapping() { if ($this->mapping === NULL) { $mapping = $this->defaultMapping; // Allow modules to alter the default mapping. $this->moduleHandler->alter('file_mimetype_mapping', $mapping); $this->mapping = $mapping; } } }