如何上传超过2MB的文件(yii2)

时间:2019-05-08 01:10:32

标签: file-upload yii2 yii2-basic-app

我想上传最大大小为25MB的文件,但失败,并且该文件未进入存储文件夹。 Enybody可以说出什么问题吗?

in php.ini-development and php.ini-production post_max_size = 25M upload_max_filesize = 25M

模型

[['publikasi_cetak'],'file','skipOnEmpty'=>TRUE,'extensions'=>'rar','maxSize' => 1024*1024*25],

控制器

 public function actionCreate()
{
    $model = new Publikasicetak();
      // [['publikasi_cetak'], 'string', 'max' => 255],
        if ($model->load(Yii::$app->request->post())) 
        {
            $model->tanggal_upload= date('Y-m-d H:i:s');
            $model->username=(Yii::$app->user->identity->username);

            $imageName = $model->judul_cetak;
            $publikasi_cetak = UploadedFile::getInstance($model, 'publikasi_cetak');

            $publikasi_cetak->saveAs('pub_cetak/'.$imageName.'.'.$publikasi_cetak->extension);

            $model->publikasi_cetak = $imageName.'.'.$publikasi_cetak->extension;

            if($model->save())
            {

               $lastInsertID = $model->getPrimaryKey();
               return $this->redirect(['view', 'id' => $lastInsertID]);
            }
           else
           {
               // print_r($model->getErrors()); => check whether any validation errors are there
           }


        } else 
        {
            return $this->render('create', [
                'model' => $model,
            ]);
        }
}

1 个答案:

答案 0 :(得分:0)

文件路径中的/可能有问题,因为Windows和Linux操作系统使用不同的目录分隔符。所以代替这个:

$publikasi_cetak->saveAs('pub_cetak/'.$imageName.'.'.$publikasi_cetak->extension);

尝试一下:

$publikasi_cetak->saveAs('pub_cetak'.DIRECTORY_SEPARATOR.$imageName.'.'.$publikasi_cetak->extension);