Yii上传文件

View层代码:

<?php $form=$this->beginWidget('CActiveForm', array(
    'id'=>'product-form',
    'htmlOptions'=>array('enctype'=>'multipart/form-data'),
    )); ?>
<?php echo $form->labelEx($model,'name');?>
<?php echo $form->textField($model,'name');?><br>
<?php echo $form->labelEx($model,'img');?>
<?php echo $form->fileField($model,'img');?><br>
<input type="submit" value="Upload"/>
<?php $this->endWidget(); ?>

Controller代码:

public function actionUpload() {
    $model = new Img();
    $model->unsetAttributes();
    if (isset($_POST['Img'])) {
        $model->attributes = $_POST['Img'];
        //文件上传
        $file = CUploadedFile::getInstance($model, 'img'); //获取表单名为img的上传信息
        $filename = $file->getName(); //获取文件名
        $filesize = $file->getSize(); //获取文件大小
        $filex = $file->getExtensionName();//文件后缀
        $filetype = $file->getType(); //获取文件类型

        $up = date('Ym');
        $name = mt_rand(100000, 999999);
        $filename = $name.$filex;
        $uploadfile = './upload/' . $filename;//代表项目根目录下的upload目录,.号要有,否则报错
        $model->name = $filename; 
        $model->img = $uploadfile;
        $file->saveAs($uploadfile, true); //上传

        if ($model->save()) {
            echo '上传成功';
        }
    }
    $this->render('upload', array('model' => $model));
}

不过可惜,找不到压缩图片的操作

你可能感兴趣的:(文件上传,yii)