当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-03-20 16:05:46 浏览: 评论:0 

这篇文章主要介绍了kohana框架上传文件验证规则写法示例,本文介绍的是避免两次new Validation的方法,需要的朋友可以参考下

先声明下我用的是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.

代码如下:

  1. $post->rule('img','not_empty'
  2.      ->rule('img','Upload::type',array(':value',array('jpg','png','gif'))) 
  3.       ->rule('img','Upload::size',array(':value','1M')); 

PS:img就是前台form表单中input type="file" 那个控件名称啦,后台是找不到ID的.

再次声明我用的kohana3.2.0版本,其它版本注意修改下写法.

Tags: kohana框架

分享到: