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
创建数据库php代码 用PHP写出自己的BLOG系统
Apr 12 PHP
PHP基于yii框架实现生成ICO图标
Nov 13 PHP
php生成酷炫的四个字符验证码
Apr 22 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
Apr 09 PHP
Laravel5.7框架安装与使用学习笔记图文详解
Apr 02 PHP
Laravel中10个有用的用法小结
May 06 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
Jul 06 PHP
PHP基于timestamp和nonce实现的防止重放攻击方案分析
Jul 26 PHP
ThinkPHP5与单元测试PHPUnit使用详解
Feb 23 PHP
YII2框架中查询生成器Query()的使用方法示例
Mar 18 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
Mar 27 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 获取页面中指定内容的实现类
2014/01/23 PHP
PHP+jQuery 注册模块的改进(一):验证码存入SESSION
2014/10/14 PHP
深入浅出php socket编程
2015/05/13 PHP
关于laravel-admin ueditor 集成并解决刷新的问题
2019/10/21 PHP
javascript编程起步(第五课)
2007/01/10 Javascript
JavaScript具有类似Lambda表达式编程能力的代码(改进版)
2010/09/14 Javascript
用JavaScript仿PS里的羽化效果代码
2011/12/20 Javascript
jquery拖动插件(jquery.drag)使用介绍
2013/06/18 Javascript
Javascript 按位与运算符 (&amp;)使用介绍
2014/02/04 Javascript
Javascript window对象详解
2014/11/12 Javascript
jquery验证手机号是否正确实例讲解
2015/11/17 Javascript
jQuery使用$.ajax进行异步刷新的方法(附demo下载)
2015/12/04 Javascript
jquery+CSS3实现3D拖拽相册效果
2016/07/18 Javascript
jquery Banner轮播选项卡
2016/12/26 Javascript
jquery实现图片平滑滚动详解
2017/03/22 jQuery
Node.js之网络通讯模块实现浅析
2017/04/01 Javascript
layui 优化button按钮和弹出框的方法
2018/08/15 Javascript
vue-cli3.0如何使用CDN区分开发、生产、预发布环境
2018/11/22 Javascript
用Cordova打包Vue项目的方法步骤
2019/02/02 Javascript
javascript+HTML5 canvas绘制时钟功能示例
2019/05/15 Javascript
js Math数学简单使用操作示例
2020/03/13 Javascript
javascript设计模式 ? 单例模式原理与应用实例分析
2020/04/09 Javascript
Vue 同步异步存值取值实现案例
2020/08/05 Javascript
python获取文件版本信息、公司名和产品名的方法
2014/10/05 Python
python根据文件大小打log日志
2014/10/09 Python
利用Python中的pandas库对cdn日志进行分析详解
2017/03/07 Python
Python实现变量数值交换及判断数组是否含有某个元素的方法
2017/09/18 Python
python os.path.isfile 的使用误区详解
2019/11/29 Python
python空元组在all中返回结果详解
2020/12/15 Python
美国女士内衣在线折扣商店:One Hanes Place
2019/03/24 全球购物
九年级家长会邀请函
2014/01/15 职场文书
班子成员四风问题自我剖析材料
2014/09/29 职场文书
2014年军人思想汇报范文
2014/10/12 职场文书
大学四年个人总结
2015/03/03 职场文书
班主任工作总结范文
2015/08/13 职场文书
2016年中秋节慰问信
2015/12/01 职场文书