@Belib0v
Осторожно, новичок

Как подключить сохранение в базу данных картинки которую загрузил пользователь?

У меня есть форма сайта, где нужно выбирать изображение, как сделать, чтобы после сохранения оно приходило в БД, виджет для импорта изображений у меня работает с многомерным массивом, чтобы получать оттуда данные прикрепляю код ActiveForm.
<div class="main_company_clipart">
    <?php $form = ActiveForm::begin([
        'options' => ['enctype' => 'multipart/form-data'],
        'action' => ['main-companies/settings-save'],
        'id' => 'main_company_id',
    ]); ?>

    <?php foreach ($imagesModel as $imageModel) { ?>
        <div class="form-group image-uploader" id= <?= $clipart['id'] ?>>

            <?= $form->field($clipart, $imageModel['column'])->hiddenInput([
                'data-url' => Url::toRoute([$imageModel['type']]),
                'data-id' => $clipart->id])->label(false); ?>

            <?= Html::label(Yii::t('app', $imageModel['label'])); ?>

            <?= ImageInput::widget([
                'name' => $imageModel['column'],
                'id' => $imageModel['id'],
                'nameField' => $imageModel['attribute'],
                'modelName' => 'MainCompanyClipart',
                'options' => [
                    'accept' => 'image/*',
                ],
                'pluginOptions' => [
                    'maxFileCount' => 1,
                    'Preview' => null,
                    'uploadUrl' => Url::to(['/media/upload']),
                    'deleteUrl' => Url::toRoute([
                        '/media/delete',
                        'model_id' => $clipart->id,
                        'type' => $imageModel['type'],
                    ]),
                    'uploadExtraData' => [
                        'fileKey' => $imageModel['column'],
                        'resourceType' => $imageModel['id']
                    ],
                ],
            ]);
            ?>
        </div>
    <?php } ?>
    <?php ActiveForm::end(); ?>
</div>

Прикрепляю массив откуда он берёт данные
$imagesModel = [
    [
        'id' => 'card-icon-id',
        'column' => 'card_icon_id',
        'attribute' => 'card_icon',
        'label' => '',
        'preview' => null,
        'type' => 'icon',
    ],
    [
        'id' => 'card-image-id',
        'column' => 'card_image_id',
        'attribute' => 'card_image',
        'label' => '',
        'preview' => null,
        'type' => 'image',
    ],
  • Вопрос задан
  • 41 просмотр
Решения вопроса 1
@pantsarny
Не стоит хранить в бд, храните в фс
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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