Exemple #1
0
 /**
  * Получает числовой код типа картинки
  * 
  * @param mixed $plain - тип|расширение|mime
  * @return int
  */
 public static function getType($plain)
 {
     if (PsCheck::isInt($plain)) {
         $temp = 1 * $plain;
         check_condition(in_array($temp, self::TYPES()), "Тип картинок [{$plain}] запрещён");
         return $temp;
     }
     if (PsCheck::isNotEmptyString($plain)) {
         $temp = lowertrim($plain);
         $byExt = in_array($temp, self::EXTS());
         $byMime = !$byExt && in_array($temp, self::MIMES());
         if ($byExt || $byMime) {
             foreach (self::$TYPE2EXT as $type => $exts) {
                 if ($byExt) {
                     //Поиск по расширениям
                     if (in_array($temp, (array) $exts)) {
                         return $type;
                     }
                 } else {
                     //Поиск по mime типам
                     if ($temp == strtolower(image_type_to_mime_type($type))) {
                         return $type;
                     }
                 }
             }
         }
     }
     raise_error("Не удалось определить тип картинки по идентификатору [{$plain}], либо картинка онтосится к запрещённым типам.");
 }