Kohana, загрузчик фото, меняет расширения фото все в .jpg, как сделать чтобы расширения оставлял такие какие они есть?

Здравствуйте, реализовал загрузчик фото для категорий, загружаю различные фото с разными расширениями и он меня их все переделывает в .png, как мне сделать так чтобы расширения не менялись, к примеру чтобы .png, оставался таким каким он есть, а остальные можно чтобы в .jpg делались.

Мой код:

public function _upload_img($file, $ext = null, $directory = null)
    {
        if ($directory == null)
        {
            $directory = 'media/uploads/cat';
            $smalldirectory = 'media/uploads/cat/small/';
            $admindirectory = 'media/uploads/cat/small/admin/';
        }
        if ($ext == null)
        {
            $ext = 'png';
        }
        // Генерируем случайное название
        $symbols = '0123456789abcdefghijklmnopqrstuvwxyz';
        $filename = '';
        for ($i = 0; $i < 10; $i++)
        {
            $filename .= rand(1, strlen($symbols));
        }

        $im = Image::factory($file);
        if ($im->width < 230 OR $im->height < 230)
        {
            return false;
        }
        else
        {
            $im->resize(800, 600);
            $im->save("$directory/$filename.$ext");
            
            $im = Image::factory($file);
            $im->resize(210, 184, Image::INVERSE);
            $im->crop(210, 184);
            $im->save("$smalldirectory/small_$filename.$ext");
            
            // Делает маленькую фотку для админки
            $im->resize(50, 50, Image::INVERSE);
            $im->save("$admindirectory/admin_$filename.$ext");
            
            return "$filename.$ext";
        }
    }
  • Вопрос задан
  • 148 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы