Exemplo n.º 1
0
 /**
  * Tries to detect MIME type of a file
  *
  * The method will try to use fileinfo extension if it is available,
  * deprecated mime_content_type() function in the other case. If neither
  * works, default 'application/octet-stream' MIME type is returned
  *
  * @param    string  filename
  * @return   string  file MIME type
  */
 private static function detectMimeType($filename)
 {
     // finfo extension from PECL available
     if (function_exists('finfo_open')) {
         if (!isset(self::$fileinfoDb)) {
             self::$fileinfoDb = finfo_open(FILEINFO_MIME);
         }
         if (self::$fileinfoDb) {
             $info = finfo_file(self::$fileinfoDb, $filename);
         }
     }
     // (deprecated) mime_content_type function available
     if (empty($info) && function_exists('mime_content_type')) {
         $info = mime_content_type($filename);
     }
     return empty($info) ? 'application/octet-stream' : $info;
 }