BloodVIRUS, возьмите маленькую гиф, измерьте сколько памяти в килобайтах, умножить высоту на ширину и на количество кадров, не сложными математическими вычислениями вы примерно сможете понять сколько нужно будет памяти для большой гиф
public function checkMime($mime)
{
if (in_array($mime, $this->allowMime, false)) {
throw new Exception("Тип данного файла не поддерживается:" . $mime);
}
}
Если расширение файла совпадает с текущим, то кидаем исключение
Наверное там надо !in_array()
Это как добавка к указанным ошибкам