YII框架中的文件上传功能怎么实现?

YII框架中的文件上传功能怎么实现?


四季花海
浏览 974回答 1
1回答

墨色风雨

文件上传思路都是一样的 都是获取上传文件,判断类型,大小等等,一系列检查通过后就可以上传啦,php也有相应的上传函数,yii则更加模块化啦!具体操作下面我提供一个上传图片的列子Model123456789101112class&nbsp;Xxxx&nbsp;extends&nbsp;CActiveRecord{&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;$image;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;...&nbsp;other&nbsp;attributes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;rules()&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;array(&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array('image',&nbsp;'file',&nbsp;'types'=>'jpg,&nbsp;gif,&nbsp;png'),//验证上传文件类型&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);&nbsp;&nbsp;&nbsp;&nbsp;}}View12345<?php&nbsp;echo&nbsp;CHtml::form('','post',array('enctype'=>'multipart/form-data'));&nbsp;?>...<?php&nbsp;echo&nbsp;CHtml::activeFileField($model,&nbsp;'image');&nbsp;?>...<?php&nbsp;echo&nbsp;CHtml::endForm();&nbsp;?>Controller12345678910111213141516171819class&nbsp;XxxxController&nbsp;extends&nbsp;CController{&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;actionCreate()&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$model=new&nbsp;Item;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(isset($_POST['Item']))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$model->attributes=$_POST['Item'];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//这里保存图片名称到数据库&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$model->image=CUploadedFile::getInstance($model,'image');&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($model->save())&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$model->image->saveAs('path/to/localFile');//设置上传路径&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;redirect&nbsp;to&nbsp;success&nbsp;page&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this->render('create',&nbsp;array('model'=>$model));&nbsp;&nbsp;&nbsp;&nbsp;}}&nbsp;
打开App,查看更多内容
随时随地看视频慕课网APP