加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

Yii框架上传图片用法总结

发布时间:2020-12-12 21:25:25 所属栏目:PHP教程 来源:网络整理
导读:本篇章节讲解Yii框架上传图片用法。供大家参考研究具体如下: Yii 提供了 CUploadedFile 来上传文件,比如图片,或者文档。 官方关于这个类的介绍 : 1、 模型层面 M ,把一个字段在rules方法里设置为 file 属性。 true,'types'=>'jpg,png,gif,doc,

本篇章节讲解Yii框架上传图片用法。分享给大家供大家参考,具体如下:

Yii 提供了 CUploadedFile 来上传文件,比如图片,或者文档。

官方关于这个类的介绍 :

1、 模型层面 M ,把一个字段在rules方法里设置为 file 属性。

true,'types'=>'jpg,png,gif,doc,docx,pdf,xls,xlsx,zip,rar,ppt,pptx',//上传文件的类型 'maxSize'=>1024*1024*10,//上传大小限制,注意不是php.ini中的上传文件大小 'tooLarge'=>'文件大于10M,上传失败!请上传小于10M的文件!' ),

2、视图层View,这里需要用到CHtml::activeFileField 来生成选择文件的button,注意是上传文件,所以在该标单中enctype应该设置为: multupart/form-data

beginWidget('CActiveForm',array( 'id'=>'link-form','enableAjaxValidation'=>false,'htmlOptions' => array('enctype'=>'multipart/form-data'),)); ?>
labelEx($model,'url'); ?> error($model,'url'); ?>

3、控制层 C

attributes=$_POST['Link']; if(empty($_POST['Link']['name'])){ $model->name = $model->url; } $file = CUploadedFile::getInstance($model,'url'); //获得一个CUploadedFile的实例 if(is_object($file)&&get_class($file) === 'CUploadedFile'){ // 判断实例化是否成功 $model->url = './assets/upfile/file_'.time().'_'.rand(0,9999).'.'.$file->extensionName; //定义文件保存的名称 }else{ $model->url = './assets/upfile/noPic.jpg'; // 若果失败则应该是什么图片 } if($model->save()){ if(is_object($file)&&get_class($file) === 'CUploadedFile'){ $file->saveAs($model->url); // 上传图片 } $this->redirect(array('view','id'=>$model->lid)); } }

更多关于Yii相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》及《》

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!