Новое в Symfony 3.1: Строгая валидация изображений

Функционал валидации изображений является одним из самых продвинутых функционалов, определенных компонентом Validator. Он позволяет проверить максимальную / минимальную высоту и ширину изображений, максиальное / минимальное соотношение сторон изображений, будет ли формат  книжным или альбомным и т.п.

Тем не менее, в нем не хватало очень важной функции: проверить, что изображение не повреждено и, следовательно, что оно будет корректно отображаться в вашем приложении. Вот почему Symfony 3.1 включает в себя новую detectCorrupted опцию конфигурации и соответствующий corruptedMessage:

use Symfony\Component\Validator\Constraints as Assert;

class Product
{
    /**
     * @Assert\Image(
     *     detectCorrupted = true,
     *     corruptedMessage = "Product photo is corrupted. Upload it again."
     * )
     */
    protected $photo;

Эта функция использует PHP функцию imagecreatefromstring(), для проверки, что представленное содержимое содержит корректное изображение. Поэтому, прежде чем использовать эту новую функцию проверки, убедитесь, что GD расширение установлено и подключено в вашей конфигурации PHP.

Как вы сами понимаете, эта опция замедляет проверку и потребляют больше памяти, но это вполне разумный компромисс, в том случае если есть такие изображения которые имеют решающее значение для вашего приложения.

Источник: http://symfony.com/blog/new-in-symfony-3-1-strict-image-validation

Добавить комментарий

Ваш адрес email не будет опубликован.

5 × 3 =