@rdzh
IT

Как добавить проверку на соответствие определенного названия файла при импорте?

Использую yii2 basic и PHPExcel_IOFactory
Имеется форма с неким импортом файла в БД.
Необходимо, что бы при импорте файла, файл соответствовал определенным критериям:
1. Имя файла начиналось с префикса imp_
2. Расширение файла было xml, xls, xlsx
Как проверять расширение - с этим разобрался, но никак не могу понять, как проверять имя файла?
Исходный код:
public function actionImport()
{
	$modelImport = new \yii\base\DynamicModel(['fileImport' => 'Импорт файла']);
	$modelImport->addRule(['fileImport'],'required');
  $modelImport->addRule(['fileImport'],'file',['extensions'=>'xml,ods,xls,xlsx'],['maxSize'=>1024*1024]);

	if(Yii::$app->request->post()) {
		$this->import($modelImport);
	}

	return $this->render('import',[
		'modelImport' => $modelImport,
	]);
}
  • Вопрос задан
  • 63 просмотра
Решения вопроса 2
kawabanga
@kawabanga
https://www.yiiframework.com/doc/api/2.0/yii-web-u...
Совсем читать разучились доки? или не умеем? Это задание не то что к PHPExcel_IOFactory не относится, так и к yii2 по сути. Основа загрузки файлов.
Ответ написан
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
1. Зачем тут DynamicModel? Используйте обычную и в ней реализуйте всю логику.
2. Для проверки "xml, xls, xlsx" есть встроенный валидатор file, а для "Имя файла начиналось с префикса imp_" напишите свой, разумно сделать его просто как метод в модели:
https://www.yiiframework.com/doc/guide/2.0/ru/inpu...
3.
как проверять имя файла?

https://www.yiiframework.com/doc/api/2.0/yii-web-u...
https://www.yiiframework.com/doc/guide/2.0/ru/inpu...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы