Решил сделать загрузку нескольких файлов картинок с помощью FileInput Widget
<?= $form->field($model, 'imageFiles[]')->widget(FileInput::classname(),[
'name' => 'imageFiles[]',
'attribute' => 'imageFiles[]',
'options' => ['multiple' => true],
'pluginOptions' => [
'previewFileType' => 'any',
'showPreview' => true,
'showCaption' => true,
'showRemove' => true,
'showUpload' => false,
'uploadClass' => 'hide',
'overwriteInitial'=>false,
'initialPreviewAsData'=>true,
'uploadUrl' => Url::to(['/site/image-manager-upload']),
'fileActionSettings' =>['showUpload' => false],
'maxFileCount' => 10
],
]); ?>
view
public function actionCreate()
{
$model = new Hotel();
$model->load(Yii::$app->request->post());
$model->imageFiles = UploadedFile::getInstances($model, 'imageFiles');
var_dump($model->imageFiles);die();
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['view', 'id' => $model->id]);
}
return $this->render('create', [
'model' => $model,
]);
}
controller
array(1) { [0]=> object(yii\web\UploadedFile)#168 (5) { ["name"]=> string(12) "IMG_2793.jpg" ["tempName"]=> string(36) "C:\OSPanel\userdata\temp\phpC2A1.tmp" ["type"]=> string(10) "image/jpeg" ["size"]=> int(264672) ["error"]=> int(0) } }
Результат
Получается что присутствует только последний файл в массиве. Если не использую этот виджет то все нормально грузится массив.