Валидация файлов

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
Chelobaka
Сообщения: 214
Зарегистрирован: 2018.06.01, 09:54

Валидация файлов

Сообщение Chelobaka »

Приветствую.
Не так давно стало понятно что одному расширению файла может соответствовать 2 и более mimeType.
Как проверять такие файлы?
Из реальных способов - это переобределить метод валидации validateExtension для файлового валидатора.
и внутри что то вроде:

Код: Выделить всё

// xlsx скаченный с google disk имеет задвоенный mimeType (php 7.4)
if ($mimeType == 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheetapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet') {
        $mimeType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
}
Возможно есть другой способ для добавление более 1ого mimeType для 1 ого расширения в Yii2,
Как в других crm это решается? Возможно есть более гибкие конфиги?
von.hamster
Сообщения: 69
Зарегистрирован: 2013.06.06, 16:07

Re: Валидация файлов

Сообщение von.hamster »

https://www.yiiframework.com/doc/api/2. ... pes-detail

попробовать указать: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet*" в rules ну или еще меньше... Судя по коду - должно сработать (https://github.com/yiisoft/yii2/blob/ma ... r.php#L542).

Либо можно просто перечислить все типы в виде массива.
Аватара пользователя
selfauthor
Сообщения: 26
Зарегистрирован: 2023.10.09, 19:35
Откуда: Москва

Re: Валидация файлов

Сообщение selfauthor »

А можно, ради интереса, узнать, какие типы файлов имеются в виду? .sheet?
makinaru
Сообщения: 6
Зарегистрирован: 2021.08.06, 12:24

Re: Валидация файлов

Сообщение makinaru »

Chelobaka писал(а): 2023.11.06, 14:50 Как в других crm это решается? Возможно есть более гибкие конфиги?
Может сделать валидацию просто по расширению а не по коду?

Код: Выделить всё

['fileAttr','file', 'checkExtensionByMimeType' => false, 'extensions' => 'jpg']
Ответить