yii使用activeFileField控件实现上传文件与图片的方法


Posted in PHP onDecember 28, 2015

本文实例讲述了yii使用activeFileField控件实现上传文件与图片的方法。分享给大家供大家参考,具体如下:

yii框架提供了activeFileField控件来完成上传文件(当然也包括了上传图片)的操作,下面介绍yii的activeFileField使用方法。

1、函数原型:

public static string activeFileField(CModel $model, string $attribute, array $htmlOptions=array ( ))

2、调用例子:

(1)首先,设置form,这一步一 定要做,把form设置为'multipart/form-data',具体请看我的:

<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'books-form',
'enableAjaxValidation'=>false,
'htmlOptions'=>array('enctype'=>'multipart/form-data'),
));
?>

(2) 接着,在view下的form里设置:

<div class="row">
<?php echo $form->labelEx($model,'BookImg'); ?>
<?php echo CHtml::activeFileField($model,'BookImg'); ?>
<?php echo $form->error($model,'BookImg'); ?>
</div>

(3) 如果你想预览图片,那么请注意了,可以加上这么一段:

<div class="row">
<?php echo '图片预览' ?>
<?php echo '<img src="http://www.XXXX.com/'.$model->BookImg.'" style="width:200px;height:300px;"/>'; ?>
</div>

(4)最后,需要在控制类里加上下面的:

if($model->save())
{
$image=CUploadedFile::getInstance($model,'BookImg');
 if (is_object($image) && get_class($image)==='CUploadedFile')
 {
 $image->saveAs("D:/aaa/aa.jpg");//路径必须真实存在,并且如果是linux系统,必须有修改权限
 }
$this->redirect(array('view','id'=>$model->BookId));
}

请注意:这里是添加的时候使用的,修改的话要有所改变。

(5)限制上传的文件必须是图片,还有限制图片大小,那么请到model层里的rules新增这么一句:

array('BookImg', 'file','allowEmpty'=>true,
'types'=>'jpg, gif, png',
'maxSize'=>1024 * 1024 * 1, // 1MB
'tooLarge'=>'The file was larger than 1MB. Please upload a smaller file.',
)

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

PHP 相关文章推荐
PHP通用检测函数集合
Nov 25 PHP
PHP 文件扩展名 获取函数
Jun 03 PHP
php实现将上传word文件转为html的方法
Jun 03 PHP
JSON用法之将PHP数组转JS数组,JS如何接收PHP数组
Oct 08 PHP
yii添删改查实例
Nov 16 PHP
PHP实现图片不变型裁剪及图片按比例裁剪的方法
Jan 14 PHP
php生成Android客户端扫描可登录的二维码
May 13 PHP
浅析php如何实现App常用的秒发功能
Aug 03 PHP
PHP url的pathinfo模式加载不同控制器的简单实现
Aug 12 PHP
thinkPHP商城公告功能开发问题分析
Dec 01 PHP
PHP+mysql防止SQL注入的方法小结
Apr 27 PHP
Laravel框架下的Contracts契约详解
Mar 17 PHP
yii实现使用CUploadedFile上传文件的方法
Dec 28 #PHP
Yii中Model(模型)的创建及使用方法
Dec 28 #PHP
yii数据库的查询方法
Dec 28 #PHP
yii分页组件用法实例分析
Dec 28 #PHP
PHP读取文件内容的五种方式
Dec 28 #PHP
yii用户注册表单验证实例
Dec 26 #PHP
PHP7之Mongodb API使用详解
Dec 26 #PHP
You might like
有关php运算符的知识大全
2011/11/03 PHP
php防止sql注入示例分析和几种常见攻击正则表达式
2014/01/12 PHP
php采集中国代理服务器网的方法
2015/06/16 PHP
PHP判断FORM表单或URL参数来的数据是否为整数的方法
2016/03/25 PHP
jQuery 通过事件委派一次绑定多种事件,以减少事件冗余
2010/06/30 Javascript
Js+Flash实现访问剪切板操作
2012/11/20 Javascript
javascript中数组的concat()方法使用介绍
2013/12/18 Javascript
学习JavaScript设计模式之迭代器模式
2016/01/19 Javascript
JavaScript仿百度图片浏览效果
2016/11/23 Javascript
JQuery异步提交表单与文件上传功能示例
2017/01/12 Javascript
Angular2 Service实现简单音乐播放器服务
2017/02/24 Javascript
简单的网页广告特效实例
2017/08/19 Javascript
浅析Javascript中双等号(==)隐性转换机制
2017/10/27 Javascript
vue+iview写个弹框的示例代码
2017/12/05 Javascript
详解iframe跨域的几种常用方法(小结)
2019/04/29 Javascript
Vue路由守卫及页面登录权限控制的设置方法(两种)
2020/03/31 Javascript
微信小程序实现带放大效果的轮播图
2020/05/26 Javascript
ES6 Generator基本使用方法示例
2020/06/06 Javascript
浅谈vue获得后台数据无法显示到table上面的坑
2020/08/13 Javascript
微信小程序实现转盘抽奖
2020/09/21 Javascript
vue 插槽简介及使用示例
2020/11/19 Vue.js
python结合selenium获取XX省交通违章数据的实现思路及代码
2016/06/26 Python
Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)
2016/09/21 Python
详解python中的hashlib模块的使用
2019/04/22 Python
关于pytorch多GPU训练实例与性能对比分析
2019/08/19 Python
Python for循环与getitem的关系详解
2020/01/02 Python
加拿大知名的国际儿童品牌:Hatley
2016/11/09 全球购物
Vision Directa智利眼镜网:框架眼镜、隐形眼镜和名牌太阳眼镜
2016/11/23 全球购物
印度最好的在线药品订购网站:PharmEasy
2018/11/30 全球购物
德国帽子专家:Hutshopping
2019/11/03 全球购物
精彩的英文自荐信
2014/01/30 职场文书
国际贸易专业个人鉴定
2014/02/22 职场文书
网络信息安全承诺书
2014/03/26 职场文书
优秀学生干部先进事迹材料
2014/05/26 职场文书
用python基于appium模块开发一个自动收取能量的小助手
2021/09/25 Python
Javascript webpack动态import
2022/04/19 Javascript