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

2015-01-24信息快讯网

这篇文章主要介绍了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版本,其它版本注意修改下写法.

Yii使用ajax验证显示错误messagebox的解决方法
配置php.ini实现PHP文件上传功能
PHP中上传多个文件的表单设计例子
一个经典的PHP文件上传类分享
一个经典的PHP验证码类分享
php使用fsockopen函数发送post,get请求获取网页内容的方法
php多个文件及图片上传实例详解
PHP文件上传判断file是否己选择上传文件的方法
CI框架验证码CAPTCHA辅助函数用法实例
php验证session无效的解决方法
ThinkPHP实现带验证码的文件上传功能实例
PHP中几个可以提高运行效率的代码写法、技巧分享
2个Codeigniter文件批量上传控制器写法例子
php实现斐波那契数列的简单写法
mantis安装、配置和使用中的问题小结
PHP开发框架kohana中处理ajax请求的例子
PHP开发框架kohana3 自定义路由设置示例
PHP的fsockopen、pfsockopen函数被主机商禁用的解决办法
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
PHP使用GIFEncoder类生成的GIF动态图片验证码
使用ThinkPHP+Uploadify实现图片上传功能
PHP生成图片验证码、点击切换实例
JavaScript创建命名空间的5种写法
ThinkPHP3.1新特性之动态设置自动完成及自动验证示例代码
美图秀秀web开放平台--PHP流式上传和表单上传示例分享
ThinkPHP3.1新特性之动态设置自动完成和自动验证示例
php+ajax实现图片文件上传功能实例
Yii结合CKEditor实现图片上传功能
Codeigniter上传图片出现“You did not select a file to upload”错误解决办法
Codeigniter操作数据库表的优化写法总结
php定时计划任务与fsockopen持续进程实例
PHP三元运算的2种写法代码实例
©2014-2024 dbsqp.com