文档章节

yii_1_1_17_12(上传类与如何扩展第三方类与缩略图类的使用-2016-2-12)

wsy940822
 wsy940822
发布于 2016/02/12 17:51
字数 245
阅读 54
收藏 0

一些表单验证的规则

array('title','required','message'=>'标题必填'),
array('type','in','range'=>array(0,1),'message'=>'请选择类型'),//范围
array('cid','自定义函数'),
array('thumb','file','types'=>'jpg,gif,png,jpeg','message'=>'没有上传或者类型不对'),

上传类:

$model = new model();
$model->thumb = CUploadedFile::getInstance($model,'thumb');

if($model->thumb){
	$preRand = 'img_'.time().mt_rand(0,9999);//随机的前缀
	$imgName = $preRand.'.'.$model->thumb->extensionName;//连上文件格式
	$model->thumb->saveAs('uploads/'.$imgName);//保存位置
	$model->thumb = $imgName;
}

//缩略图
$path = dirname(Yii::app()->BasePath).'/uploads/';

$thumb = Yii::app()->thumb;//引入类
$thumb->image = $path.$imgName;//要缩略的图片
$thumb->width = 130;
$thumb->height = 95;
$thumb->mode =4;//缩略类型
$thumb->directory = $path;//保存路径
$thumb->defaultName = $preRand;//默认名字,并且不保存原图

$thumb->createThumb();//创建缩略图
$thumb->save();//保存缩略图

扩展缩略图类(ext代表protected/extensions):

1.在extension中建立CThumb/CThumb.php文件
2.在main.php里面配置
	'components' => array(
		'thumb' => array(
			'class' => 'ext.CThumb.CThumb'//路径别名
		)
	)

© 著作权归作者所有

共有 人打赏支持
wsy940822
粉丝 27
博文 63
码字总数 24407
作品 0
浦东
程序员
私信 提问
Yii2框架图解

Yii2框架图解 Love冥天个人博客-关注IT|PHP|互联网|php个人博客交流2017-11-281 阅读 yii2Yii2 图片根据Yii类参考手册,Yii源代码,开发常用方法构成. 1.yii2 控制器类图 2.yii2 cookie 类图...

Love冥天个人博客-关注IT|PHP|互联网|php个人博客交流
2017/11/28
0
0
Yii2 Day 4: 模块化开发

做了几年Windows环境下程序开发(大概200多个模块,几百万行代码),转做PHP Web开发后,发现模块级别的代码重用实在是不如意啊,重用基本上都是代码复制粘贴级别的,耦合度都太高,不利于代...

_Elvis
2014/12/04
0
4
yii2集成富文本编辑器redactor

作者:白狼 出处:http://www.manks.top/article/yii2_redactor 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利...

白狼栈
2016/04/24
287
0
yii2开发中19条推荐实践(阿北总结)

虽然每个人的编程风格不同,但是有些建议能让你的代码更加规范和稳定,本次就我这次网站更新总结如下几点,希望对你的yii2学习和使用有所帮助。 环境说明 服务器环境: CentOS 开发环境及IDE...

阿北2017
2018/06/02
0
0
Yii2 源码分析 - 入口文件执行流程

以 yii 2.0.14 高级版的 frontend 为例,从 frontend/web/index.php 开始 入口文件看着就这么几行,简单的很,那他是怎么通过这几行来运行应用的呢?先看 Yii.php 内的逻辑 接下来,就是重头...

botkenni
2018/05/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Flink 幕后之内存管理

Flink 幕后之内存管理 引言 目前很多大数据处理框架,例如Hadoop、Spark、Storm、Flink等。它们都基于JVM语言开发(java or scala),运行在JVM上。为了加速合并或者排序(基于磁盘的方式通常...

moyiguke
15分钟前
1
0
风起云涌,看云计算如何赋能媒体行业?

在媒体行业的转型升级中,云计算的出现多维度促进了媒体融合,打破传统媒体行业与新媒体的界限和竞争格局,在媒体素材管理、移动端功能演进的过程中扮演着重要角色,颠覆了传统媒体新闻采编、...

七牛云
18分钟前
0
0
Mybatis开发遇到问题汇总

mybatis 中![CDATA[...]] 在今天使用Mybatis的xml文件中写sql语句时写入了一些特殊字符 如 < > & 等,但解析xml文件的时候会被转义,事实上并不希望它被转义,可以使用<![CDATA[ ]]>. 这是XML...

wangwei2134
26分钟前
0
0
参数验证 @Validated 和 @Valid 的区别

来源:blog.csdn.net/qq_27680317/article/details/79970590 整编:Java技术栈(公众号ID:javastack) Spring Validation验证框架对参数的验证机制提供了@Validated(Spring's JSR-303 规范......

Java技术栈
29分钟前
0
0
JS实现继承的几种方式

前言 JS作为面向对象的弱类型语言,继承也是其非常强大的特性之一。那么如何在JS中实现继承呢?让我们拭目以待。 JS继承的实现方式 既然要实现继承,那么首先我们得有一个父类,代码如下: ...

不负好时光
33分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部