kohana框架上传文件验证规则写法示例


Posted in PHP onJuly 14, 2014

先声明下我用的是ko3.2.0版本.

kohana的验证,用的同学们都少懂点,因为每个函数的注释里都会举个例子.今天遇到的情况是验证图片上传,kohana的例子是这个样子的.

$array->rule('file', 'Upload::type', array(array('jpg', 'png', 'gif')));

这个本身没有问题,但是呢,在实际的应用中总有点不方便,为什么呢,因为传到后面处理的时候,不仅要验证图片的上传还要验证form表单的某些字段.
一般我们会这样写
$post = new Validation($_POST);

$file = new Validation($_FILES);

这样写也没什么问题,验证的时候按例子写也ok.但是觉得new2次有点怪怪的,而且我们也知道$_POST和$_FILES都是数组,可以一次验么?那肯定的,当然,我们得先把它们变成一个大的数组.这样写就OK.
$post = new Validation(array_merge($_POST,$_FILES));//不明白的同学,度娘下array_merge

重点出场了,亲们.大家都知道验证form表单的字段写法和合并前没什么区别,关键是这个图片上传(或是其他的用到upload)要怎么写.
好吧,时间关系直接上代码,大家可以拿去直接用,当然有兴趣的同学也可以试用rules.
$post->rule('img','not_empty')

     ->rule('img','Upload::type',array(':value',array('jpg','png','gif')))

      ->rule('img','Upload::size',array(':value','1M'));

PS:img就是前台form表单中input type="file" 那个控件名称啦,后台是找不到ID的.
再次声明我用的kohana3.2.0版本,其它版本注意修改下写法.
PHP 相关文章推荐
同时提取多条新闻中的文本一例
Oct 09 PHP
php中文本操作的类
Mar 17 PHP
在PHP中使用Sockets 从Usenet中获取文件
Jan 10 PHP
关于php fread()使用技巧
Jan 22 PHP
php下清空字符串中的HTML标签的代码
Sep 06 PHP
PHP高自定义性安全验证码代码
Nov 27 PHP
php的sprintf函数的用法 控制浮点数格式
Feb 14 PHP
ThinkPHP自定义Redis处理SESSION的实现方法
May 16 PHP
thinkPHP实现递归循环栏目并按照树形结构无限极输出的方法
May 19 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
Jul 01 PHP
PHP实现随机数字、字母的验证码功能
Aug 01 PHP
PHP实现的文件浏览器功能简单示例
Sep 12 PHP
PHP开发框架kohana中处理ajax请求的例子
Jul 14 #PHP
兼容ie6浏览器的php下载文件代码分享
Jul 14 #PHP
国产PHP开发框架myqee新手快速入门教程
Jul 14 #PHP
PHP开发框架kohana3 自定义路由设置示例
Jul 14 #PHP
PHP缓存机制Output Control详解
Jul 14 #PHP
PHP生成指定长度随机数最简洁的方法
Jul 14 #PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
Jul 12 #PHP
You might like
在PHP中使用XML
2006/10/09 PHP
php flush类输出缓冲剖析
2008/10/19 PHP
PHP使用OB缓存实现静态化功能示例
2019/03/23 PHP
php菜单/评论数据递归分级算法的实现方法
2019/08/01 PHP
php使用Swoole实现毫秒级定时任务的方法
2020/09/04 PHP
判断iframe是否加载完成的完美方法
2010/01/07 Javascript
利用腾讯的ip地址库做ip物理地址定位
2010/07/24 Javascript
JavaScript性能陷阱小结(附实例说明)
2010/12/28 Javascript
jquery多选项卡效果实例代码(附效果图)
2013/03/23 Javascript
js字符串日期yyyy-MM-dd转化为date示例代码
2014/03/06 Javascript
SuperSlide2实现图片滚动特效
2014/06/20 Javascript
JS中getYear()和getFullYear()区别分析
2014/07/04 Javascript
nodejs开发微博实例
2015/03/25 NodeJs
使用Jasmine和Karma对AngularJS页面程序进行测试
2016/03/05 Javascript
Js查找字符串中出现次数最多的字符及个数实例解析
2016/09/05 Javascript
jQuery实现磁力图片跟随效果完整示例
2016/09/16 Javascript
vue 粒子特效的示例代码
2017/09/19 Javascript
vue中使用element ui的弹窗与echarts之间的问题详解
2019/10/25 Javascript
[03:17]DOTA2英雄基础教程 剧毒术士
2013/12/12 DOTA
python3使用scrapy生成csv文件代码示例
2017/12/28 Python
python selenium自动上传有赞单号的操作方法
2018/07/05 Python
Python自动化之数据驱动让你的脚本简洁10倍【推荐】
2019/06/04 Python
在linux系统下安装python librtmp包的实现方法
2019/07/22 Python
简单了解python gevent 协程使用及作用
2019/07/22 Python
python中matplotlib实现随鼠标滑动自动标注代码
2020/04/23 Python
荷兰鞋类购物网站:Donelli
2019/05/24 全球购物
顺丰快递Java软件工程师面试题
2015/07/31 面试题
人力资源管理专业毕业生推荐信
2013/11/07 职场文书
总经理助理岗位职责
2013/11/08 职场文书
《小蝌蚪找妈妈》教学反思
2014/02/21 职场文书
售房委托书
2014/08/30 职场文书
弘扬焦裕禄精神走群众路线思想汇报
2014/09/12 职场文书
避暑山庄导游词
2015/02/04 职场文书
校长师德表现自我评价
2015/03/05 职场文书
安全生产奖惩制度
2015/08/06 职场文书
Oracle中DBLink的详细介绍
2022/04/29 Oracle