【问题标题】:Can't update image in yii projectyii项目无法更新图片
【发布时间】:2015-03-13 16:48:22
【问题描述】:

我想上传一张图片并将图片名称保存在数据库中。我可以创建它,一切正常,但更新有问题。如果我更新 $model->img (image) 值将在 db 中为空。 这是我的示范规则:

            array('img', 'file','types'=>'jpg, gif, png, jpeg', 'allowEmpty'=>true, 'on'=>'update'),
            array('title, img', 'length', 'max'=>255, 'on'=>'insert,update'),

这是控制器:

    public function actionUpdate($id)
    {
        $model=$this->loadModel($id);
                $_SESSION['KCFINDER']['disabled'] = false;
                $_SESSION['KCFINDER']['uploadURL'] = Yii::app()->baseUrl."/../images/"; // URL for the uploads folder
                $_SESSION['KCFINDER']['uploadDir'] = Yii::app()->basePath."/../../images/"; // path to the uploads folder
        // $this->performAjaxValidation($model);
        if(isset($_POST['News']))
        {
                    $_POST['News']['img'] = $model->img;
                    $model->attributes=$_POST['News'];
                    $model->img = $_POST['News']['img'];
                        $uploadedFile=CUploadedFile::getInstance($model,'img');

            if($model->save()){
                            if(!empty($uploadedFile)) 
                            {
                                    $uploadedFile->saveAs(Yii::app()->basePath.'/../../images/'.$model->img);
                            }
                        }
                $this->redirect(array('view','id'=>$model->id));
        }

        $this->render('update',array(
            'model'=>$model,
        ));
    }

在保存之前,我检查了 $model->img 并且它具有价值。 所以我认为更新中的 save() 有问题。

【问题讨论】:

    标签: php yii


    【解决方案1】:

    $_POST['News']['img'] = $model->img; 你为什么这样做?您必须删除此行。

     $model->attributes=$_POST['News'];
     $model->img = $_POST['News']['img'];
    

    【讨论】:

    • 回答。它不起作用。如果我删除那条线,结果不会好。您需要更多代码吗?
    猜你喜欢
    • 1970-01-01
    • 2019-08-13
    • 1970-01-01
    • 1970-01-01
    • 2013-11-01
    • 2019-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多