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中的字符串函数
Oct 09 PHP
dede全站URL静态化改造[070414更正]
Apr 17 PHP
PHP 图片水印类代码
Aug 27 PHP
php 在windows下配置虚拟目录的方法介绍
Jun 26 PHP
解析file_get_contents模仿浏览器头(user_agent)获取数据
Jun 27 PHP
ThinkPHP3.1.3版本新特性概述
Jun 19 PHP
初识Laravel
Oct 30 PHP
php从完整文件路径中分离文件目录和文件名的方法
Mar 13 PHP
简单谈谈PHP vs Node.js
Jul 17 PHP
PHP 以POST方式提交XML、获取XML,解析XML详解及实例
Oct 26 PHP
老生常谈PHP面向对象之命令模式(必看篇)
May 24 PHP
php获取微信共享收货地址的方法
Dec 21 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模板引擎Smarty的缓存使用总结
2014/04/24 PHP
php格式化日期实例分析
2014/11/12 PHP
php查看网页源代码的方法
2015/03/13 PHP
WordPress自定义时间显示格式
2015/03/27 PHP
PHP使用OB缓存实现静态化功能示例
2019/03/23 PHP
详细讲解JS节点知识
2010/01/31 Javascript
input 输入框内的输入事件详细分析
2010/03/17 Javascript
JS维吉尼亚密码算法实现代码
2010/11/09 Javascript
jQuery实现点击小图显示大图代码分享
2015/08/25 Javascript
js Canvas实现的日历时钟案例分享
2016/12/25 Javascript
Vue.js -- 过滤器使用总结
2017/02/18 Javascript
layer弹出层框架alert与msg详解
2017/03/14 Javascript
Vue实现购物车功能
2017/04/27 Javascript
React-Native中禁用Navigator手势返回的示例代码
2017/09/09 Javascript
jfinal与bootstrap的登出实战详解
2017/11/27 Javascript
JQuery扩展对象方法操作示例
2018/08/21 jQuery
使用vue2实现带地区编号和名称的省市县三级联动效果
2018/11/05 Javascript
JavaScript Canvas编写炫彩的网页时钟
2019/10/16 Javascript
Javascript异步编程async实现过程详解
2020/04/02 Javascript
详解Python的Django框架中的templates设置
2015/05/11 Python
详解Pytorch 使用Pytorch拟合多项式(多项式回归)
2018/05/24 Python
django输出html内容的实例
2018/05/27 Python
Python测试网络连通性示例【基于ping】
2018/08/03 Python
python实现在图片上画特定大小角度矩形框
2018/10/24 Python
对tensorflow中的strides参数使用详解
2020/01/04 Python
python二维图制作的实例代码
2020/12/03 Python
麦德龙官方海外旗舰店:德国麦德龙超市
2017/12/23 全球购物
英国独特的时尚和生活方式品牌:JOY
2018/03/17 全球购物
职工运动会邀请函
2014/01/19 职场文书
水利学院求职自荐书
2014/02/01 职场文书
网上卖盒饭创业计划书范文
2014/02/07 职场文书
推广活动策划方案
2014/08/23 职场文书
西湖英语导游词
2015/02/06 职场文书
2015年小学一年级班主任工作总结
2015/05/21 职场文书
oracle索引总结
2021/09/25 Oracle
R9700摩机记
2022/04/05 无线电