Yii框架上传图片用法总结

前端之家收集整理的这篇文章主要介绍了Yii框架上传图片用法总结前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了Yii框架上传图片用法分享给大家供大家参考,具体如下:

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

官方关于这个类的介绍 :

. 上传文件,要用到MVC三个层面。

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

PHP;"> beginWidget('CActiveForm',array( 'id'=>'link-form','enableAjaxValidation'=>false,'htmlOptions' => array('enctype'=>'multipart/form-data'),)); ?>
PHP;">
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程序设计有所帮助。

猜你在找的PHP相关文章