在yii中更新记录而不删除上传的文件 [英] update a record without removing the uploaded file in yii

查看:147
本文介绍了在yii中更新记录而不删除上传的文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要更新记录与更改或删除文件名(我的意思是文件),或重新插入文件,所以我怎么能做到这一点?



这里是我的 actionCreate ,我怎么写更新?

  public function actionCreate(){
$ model = new Page;
if(isset($ _ POST ['Page'])){
$ model-> attributes = $ _POST ['Page'];
$ model-> filename = CUploadedFile :: getInstance($ model,'filename');
if($ model-> save()){
if($ model-> filename!== null){
$ dest = Yii :: getPathOfAlias('application.uploads );
$ model-> filename-> saveAs($ dest。'/'。$ model-> filename-> name);

$ model-> save();

$ this-> redirect(array('view','id'=> $ model-> id));

$ b $ this-> render('create',array(
'model'=> $ model,
));





$所以请任何人都可以找到解决方案
<如果您不需要在编辑/更新中更改或删除文件名,则忽略文件名(和上传部分),假设文件已经上传,而您不需要希望更改/删除它。

  public function actionUpdate($ id){
$ model = $ this-> ; loadModel($ ID);
$ file = $ model->文件名;
if(isset($ _ POST ['Page'])){
$ model-> attributes = $ _POST ['Page'];
$ model-> filename = $ file;
if($ model-> save()){
$ this-> redirect(array('view','id'=> $ model-> id));

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


I need to UPDATE record with out changing or deleting filename(i mean file) , OR reinsert file again so how i can do this?

here is my actionCreate, How i can write update?

public function actionCreate() {
    $model = new Page;
    if (isset($_POST['Page'])) {
        $model->attributes = $_POST['Page'];
        $model->filename = CUploadedFile::getInstance($model, 'filename');
        if ($model->save()) {
            if ($model->filename !== null) {
                $dest = Yii::getPathOfAlias('application.uploads');
                $model->filename->saveAs($dest . '/' . $model->filename->name);

                $model->save();
            }
            $this->redirect(array('view', 'id' => $model->id));
        }
    }
    $this->render('create', array(
        'model' => $model,
    ));
}

So Please can anyone find a solution

解决方案

If you don't need to change or delete filename in edit/update then ignore filename (and upload part) assuming the file is alrready uploaded and you don't wish to change/delete it.

 public function actionUpdate($id) {
    $model = $this->loadModel($id);
    $file = $model->filename;
    if (isset($_POST['Page'])) {
        $model->attributes = $_POST['Page'];
        $model->filename = $file;
        if ($model->save()) {
            $this->redirect(array('view', 'id' => $model->id));
        }
    }
    $this->render('create', array(
        'model' => $model,
    ));
}

这篇关于在yii中更新记录而不删除上传的文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆