Heim >php教程 >php手册 >kohana框架上传文件验证规则写法示例

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

WBOY
WBOYOriginal
2016-06-06 20:20:111712Durchsuche

这篇文章主要介绍了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.

复制代码 代码如下:


$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版本,其它版本注意修改下写法. ,
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn