'Не выбран файл!' ], [['file'], 'file', 'extensions' => 'csv', 'checkExtensionByMimeType'=>false ], [['delete_prefix1', 'delete_prefix2'], 'boolean' ], ]; } public function attributeLabels() { return [ 'file' => Yii::t('app', 'Источник'), 'delete_prefix1' => Yii::t('app', 'Удалять префикс в артикуле товара 1'), 'delete_prefix2' => Yii::t('app', 'Удалять префикс в артикуле товара 2'), ]; } public function readFile( $options = [] ){ $data = Yii::$app->multiparser->parse( $this->file_path, $options ); if( !is_array( $data ) ){ throw new ErrorException("Ошибка чтения из файла кроссов {$this->file_path}"); } // файл больше не нужен - данные прочитаны и сохранены в кеш if( file_exists($this->file_path) ) unlink($this->file_path); return $data; } public function fields() { return [ 'delete_price1', 'delete_price2' ]; } }