2

yiiでアップロード画像のサイズを変更するには?

    if(isset($_POST['ArsipSurat']))
    {
        $rnd = rand(0,9999); 
        $model->attributes=$_POST['ArsipSurat'];
        $uploadedFile=CUploadedFile::getInstance($model,'image');
        $fileName = "{$rnd}-{$uploadedFile}";  // random number + file name
        $model->image = $fileName;
        if(isset($uploadedFile)){

            $model->save();

            //$this->redirect(array('view','id'=>$model->no_surat));
            $uploadedFile->saveAs(Yii::app()->basePath.'../../images/arsip/'.$fileName); 
            //$this->redirect(array('admin'));
            $this->redirect(array('view','id'=>$model->no_surat));  
        }
            else if(empty($uploadedFile))  // check if uploaded file is set or not
            {
                $model->save();
                $this->redirect(array('view','id'=>$model->no_surat));                  
            }   
            else{
                //$this->render('create',array('model'=>$model));
                $this->redirect(array('admin'));
            }
    }

画像を直接 768x1024 ピクセルにサイズ変更してアップロードすると、3000x4000 ピクセルの画像があります。私は試して$model->resize(768, 1024);いますが、エラーがありますbehaviors do not have a method or closure named "resize".

4

1 に答える 1

4

代わりに拡張機能を使用する必要があります。目的を達成するための多くのリソースを見つける必要があります。下記は用例です

オンザフライでの画像サイズ変更

yii を使用した画像のアップロードとサイズ変更

コードの割合を見てください

    $image = Yii::app()->image->load($name);    
    $image->resize(768, 1024);    
    $image->save();
于 2013-07-31T06:14:26.133 に答える