热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

YII教程-如何使用model上传一个文件

首先在模型类声明一个属性来储存文件名称(formmodel或activerecordmodel均可)。同样声明一个文件验证规则,以确保被上传文件指定的扩展名。

首先在模型类声明一个属性来储存文件名称(form model或active record model均可)。同样声明一个文件验证规则,以确保被上传文件指定的扩展名。

class Item extends CActiveRecord { public $image; // ... other attributes public function rules() { return array( array('image', 'file', 'types'=>'jpg, gif, png'), ); } }

然后,在控制器类定义一个action方法收集用户提交的数据。

class ItemController 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)); } }

最后,创建action视图并生成一个上传的field。

 echo CHtml::form('','post',array('enctype'=>'multipart/form-data')); ?> ...
php echo CHtml::activeFileField($model, 'image'); ?> ...
php echo CHtml::endForm(); ?>

推荐阅读
author-avatar
手机用户2602905767
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有