move_uploaded_file()无法使用yii框架移动

时间:2013-05-03 14:02:17

标签: frameworks yii

我正在尝试使用yii框架上传文件时出现此错误

  

move_uploaded_file()[function.move-uploaded-file]:无法将'/ tmp / phpLEdRdu'移动到'http://wmtunisia.com/tamtamtravel.tn/upload/2013-05-03entry_3.jpg'

这就是我在控制器中做的事情

public function actionCreate()

{

    $model=new Voitures;

    if(isset($_POST['Voitures']))

    {
        $model->attributes=$_POST['Voitures'];
        $model->image=CUploadedFile::getInstance($model,'image');

        if($model->validate())

        {

            if(!empty($model->image)){

                $rep = Yii::app()->params['webroot'].'upload/';



                $model->image->saveAs($rep.date('Y-m-d').$model->image);


                $model->image=date('Y-m-d').$model->image;

            }

            $model->description= CHtml::encode($_POST['Voitures']['description']);
            $model->save();

            Yii::app()->user->setFlash('save',"La voiture a été enregistrée avec succes!");

            $this->redirect(array('admin'));

        }

    }

请有人帮忙吗?

2 个答案:

答案 0 :(得分:0)

Yii::app()->params['webroot']在您的情况下等于什么?

根据错误文本,它指的是URL,但它必须是服务器上的路径https://github.com/yiisoft/yii/blob/master/framework/web/CUploadedFile.php#L188

尝试改为使用Yii::getPathOfAlias('webroot')

答案 1 :(得分:0)

以下是文件上传的一个很好的例子:

  

http://www.yiiframework.com/wiki/2/how-to-upload-a-file-using-a-model/

首先声明一个属性,将文件名存储在模型类中(表单模型或活动记录模型)。同时声明此属性的文件验证规则,以确保上传具有特定扩展名的文件。