YII框架中的文件上传功能怎么实现?求一个最简单的代码!
现在在自学YII框架,看的是孙书华老师的视频,没有讲解怎么进行文件上传,所以想问一下。最好能讲解一下思路,再提供一个简单好用的代码,供我自己琢磨。...
现在在自学YII框架,看的是孙书华老师的视频,没有讲解怎么进行文件上传,所以想问一下。最好能讲解一下思路,再提供一个简单好用的代码,供我自己琢磨。
展开
2个回答
展开全部
文件上传思路都是一样的 都是获取上传文件,判断类型,大小等等,一系列检查通过后就可以上传啦,php也有相应的上传函数,yii则更加模块化啦!具体操作下面我提供一个上传图片的列子
Model
class Xxxx extends CActiveRecord
{
public $image;
// ... other attributes
public function rules()
{
return array(
array('image', 'file', 'types'=>'jpg, gif, png'),//验证上传文件类型
);
}
}
View
<?php echo CHtml::form('','post',array('enctype'=>'multipart/form-data')); ?>
...
<?php echo CHtml::activeFileField($model, 'image'); ?>
...
<?php echo CHtml::endForm(); ?>
Controller
class XxxxController extends CController
{
public function actionCreate()
{
$model=new Item;
if(isset($_POST['Item']))
{
$model->attributes=$_POST['Item'];
//这里保存图片名称到数据库
$model->image=CUploadedFile::getInstance($model,'image');
if($model->save())
{
$model->image->saveAs('path/to/localFile');//设置上传路径
// redirect to success page
}
}
$this->render('create', array('model'=>$model));
}
}
希望能帮到你!
追问
已经解决了,多谢!已采纳
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询