Задать вопрос
xoma2
@xoma2
Программист

Yii2 как сохранять путь к фото в форме?

Как сохранять путь к загруженным файлам?
<?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]); ?>

    <?=  $form->field($photo, 'photo[]')->widget(kartik\file\FileInput::className(), [
        'options' => [ 'multiple' => true, 'accept' => 'image/*'],
        'pluginOptions' => ['previewFileType' => 'image']
    ]);
    ?>

    <?= Html::activeHiddenInput($photo, 'author', ['value' => Yii::$app->user->identity->username ]) ?>
    <?= Html::activeHiddenInput($photo, 'role', ['value' => Yii::$app->user->identity->group ]) ?>
    <?= Html::activeHiddenInput($photo, 'post_id', ['value' => $id]) ?>

    <button>Submit</button>

<?php ActiveForm::end(); ?>


public function actionPhoto($id){

        $photo = new Photo();
        $model = $this->findModel($id);

        if (Yii::$app->request->isPost) {
            $photo->photo = UploadedFile::getInstances($photo, 'photo');

            if ($photo->load(Yii::$app->request->post()) && $photo->save()) {

                if ($photo->photo && $photo->validate()) {
                    foreach ($photo->photo as $ph) {
                        $ph->saveAs('uploads/' . $ph->baseName . '.' . $ph->extension);
                    }
                }

                return $this->redirect(['photo', 'id' => $model->id]);

            } else {
                    return $this->render('photo', [
                    'model' => $model,
                    'photo' => $photo,
                ]);
            }
        }
    }
  • Вопрос задан
  • 2851 просмотр
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
abler98
@abler98
Software Engineer
Никак, установить значение в поле file имеет право только пользователь.
Ответ написан
Ваш ответ на вопрос

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

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