예제 #1
0
 /**
  * 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());
 }
예제 #2
0
파일: File.php 프로젝트: ktrzos/plethora
 /**
  * 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;
 }
예제 #3
0
 /**
  * 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;
 }