Как проверить свойства изображения (размер)? - PullRequest
1 голос
/ 03 октября 2010

Как я могу проверить свойства изображения (высота, ширина) в Kohana 3 перед изменением размера? Или как я могу использовать изменение размера изображения, только если мое изображение не меньше нужного мне размера?

Что я хочу сделать: во время загрузки аватара я должен изменить размер изображения, если оно больше, чем я хочу. Или принять меры, чтобы запретить загрузку большего аватара.

Теперь у меня есть следующие правила:

public function avatar_validate($files)
{
    return Validate::factory($files)
        ->rules('avatar', array(
            'Upload::valid' => NULL,
            'Upload::type' => array(array('jpg','png','gif','bmp','gif')),
            'Upload::size' => array('3M')
                                )
                                );
}

1 Ответ

1 голос
/ 05 октября 2010

После проверки (тип, размер файла и т. Д.) Загрузите изображение в контроллер с помощью модуля Image.

$image = new Image($file['tmp_name']);
if ($image->width > 800 OR $image->height > 600)
{
    $image->resize(800, 600, null);
    $image->save('path/'.$file['name']);
}
else
{
    move_uploaded_file($file['tmp_name'], 'path/'.$file['name']);
}
...