/** * Get file MIME type. * * @access public * @return string * @since 1.0.0-alpha * @version 1.0.0-alpha */ public function getMime() { return \Plethora\Helper\MimeTypes::getTypeByExt($this->getExt()); }
/** * Set mime of the file. * * @access public * @param string $sMime * @return File * @throws Exception\Fatal * @since 1.0.0-alpha * @version 1.0.0-alpha */ public function setMime($sMime) { $aMimeTypes = Helper\MimeTypes::getExtByType($sMime); if ($aMimeTypes === FALSE) { throw new Exception\Fatal('Unknown file type (' . $sMime . '). File couldn\'t be uploaded.'); } $this->mime = $sMime; return $this; }
/** * Checks if uploaded file has required type * * @static * @access public * @param ModelCore\FileBroker $fileBroker $_FILE like array * @param string $types image type * @return boolean|string * @since 1.0.0-alpha * @version 1.0.0-alpha */ public static function type(ModelCore\FileBroker $fileBroker, $types) { if (is_null($fileBroker)) { return TRUE; } $value = $fileBroker->getTempData(); if (!isset($value['tmp_name'])) { return TRUE; } $mimeType = Helper\MimeTypes::getMimeType($value['tmp_name']); if (!in_array($mimeType, $types)) { return __('Invalid file type (:invalid_type)! List of allowed fields types: :types.', ['types' => implode(', ', $types), 'invalid_type' => $value['type']]); } return TRUE; }