Yii2::上传图片

前端准备

<?php $form = ActiveForm::begin([
    'id' => 'upload',
    'enableAjaxValidation' => false,
    'options' => ['enctype' => 'multipart/form-data']
]);
?>

<?= $form->field($model, '存储url字段')->fileInput(); ?> 
<?= Html::submitButton($model->isNewRecord ? '上传图片' : 'create', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
<?php ActiveForm::end(); ?>

后端处理

//上传图片处理
            if ($model->load(Yii::$app->request->post())) {
                $uploadPath = '存储图片根路径' ; 
                $image      = UploadedFile::getInstance($model, '前端存储字段名');
                $ext        = $image->getExtension();
                $imageName  = time() . rand(100, 999) . '.' . $ext;
                $image->saveAs($uploadPath. $imageName);    //设置图片的存储位置
                $model->url = $uploadPath . $imageName;     //设置图片的url,可以用_SERVER["HTTP_HOST"]+图片名代替

                if (!$model->save()){
                    \Yii::$app->getSession()->setFlash( 'error', '图片上传失败' );
                }
                \Yii::$app->getSession()->setFlash( 'success', '图片上传成功' );
                $this->redirect($url);

            } 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值