kohana框架上传文件验证规则写法示例
先声明下我用的是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开发框架kohana3 自定义路由设置示例
由于kohana框架在国内的用户较少,而且新版与kohana2.X差别太大,加之kohana3资料多为英文.让很多对kohana感兴趣,想学的同学们只能望K兴叹.由于公司 最近转向kohana3开发(kohana3.1.0稳定版),所以我趁次机会,认真看了下官方的资料.获益良多,借个人小站,分享给大家.今天呢,就说下kohana的路由设置. 再次说下,我用的是ko3.1.0与ko3有差别的. 其实呢,kohana3的路由设置,很简单.打开application文件下的bootstrap.php,
-
PHP开发框架kohana3.3.1在nginx下的伪静态设置例子
Kohana 是一款纯 PHP5 的框架,基于 MVC 模式开发, 它的特点就是高安全性,轻量级代码,容易使用,并且最新的kohana3支持HMVC模式.以下是在nginx环境下的kohana伪静态配置参考例子: server { listen 80; server_name 55zaza; index index.html index.htm index.php default.html default.htm default.php; root /home/wwwroot/55zaza; #
-
PHP开发框架kohana中处理ajax请求的例子
今天分享的是在kohana中处理页面的ajax请求.2步搞定.前提是你的kohana框架已经可以正确运行了,注意下. 1.页面发出请求. 现在主流的javascript框架非jQuery莫属.jQuery对ajax请求也作了封装,这里就以jQuery为例来写个.demo是获取后台json串,并且用each处理.代码大部分是从jqapi搞来的,准确也方便. $.ajax({ url: "/test/json",//test是控制器,json是action,带/是相对站点根目录的意思 da
-
kohana框架上传文件验证规则写法示例
先声明下我用的是ko3.2.0版本. kohana的验证,用的同学们都少懂点,因为每个函数的注释里都会举个例子.今天遇到的情况是验证图片上传,kohana的例子是这个样子的. 复制代码 代码如下: $array->rule('file', 'Upload::type', array(array('jpg', 'png', 'gif'))); 这个本身没有问题,但是呢,在实际的应用中总有点不方便,为什么呢,因为传到后面处理的时候,不仅要验证图片的上传还要验证form表单的某些字段. 一般我们会这样
-
ASP.NET 上传文件导入Excel的示例
目录 前言 代码实战 具体的xml文件 具体的Excel模板 前言 本文对应的场景是导入Excel数据,Excel对应的字段都配置在xml文件中.截图如下: 代码实战 工具类 实体类:XMLReadModel.cs public class XMLReadModel { /// <summary> /// 导入所需键值对 /// </summary> public Hashtable ImportHashtable { set; get; } = new Hashtable();
-
js获取判断上传文件后缀名的示例代码
复制代码 代码如下: function lastname(){ //获取欲上传的文件路径var filepath = document.getElementById("file1").value; //为了避免转义反斜杠出问题,这里将对其进行转换var re = /(\\+)/g; var filename=filepath.replace(re,"#");//对路径字符串进行剪切截取var one=filename.split("#");//获
-
Vue开发之封装上传文件组件与用法示例
本文实例讲述了Vue开发之封装上传文件组件与用法.分享给大家供大家参考,具体如下: 使用elementui的 el-upload插件实现图片上传组件 每个项目存在一定的特殊性,所以数据的处理会不同 pictureupload.vue: <template> <div class="pictureupload"> <el-upload :action="baseUrl + '/api/public/image'" list-type=&q
-
JS+html5实现异步上传图片显示上传文件进度条功能示例
本文实例讲述了JS+html5实现异步上传图片显示上传文件进度条功能.分享给大家供大家参考,具体如下: <html> <head> </head> <body> <p> emo_album_id:<input type="text" name="emo_album_id" id="emo_album_id" value='1'> </p> <p> na
-
php 使用html5 XHR2实现上传文件与进度显示功能示例
本文实例讲述了php 使用html5 XHR2实现上传文件与进度显示功能.分享给大家供大家参考,具体如下: 思路:只要我们知道上传文件的总大小,还有上传过程中上传文件的大小,那么就可以实现进度显示了. 在html5中,XMLHttpRequest对象,传送数据的时候,progress事件用来返回进度信息. 它分成上传和下载两种情况 1.下载的progress事件属于XMLHttpRequest对象 2.上传的progress事件属于XMLHttpRequest.upload对象. 与progre
-
Element-UI中Upload上传文件前端缓存处理示例
Element-UI对于文件上传组件的功能点着重于文件传递到后台处理,所以要求action为必填属性. 但是如果需要读取本地文件并在前端直接处理,文件就没有必要传递到后台,比如在本地打开一个JSON文件,利用JSON文件在前端进行动态展示等等. 下面就展示一下具体做法: 首先定义一个jsonContent, 我们的目标是将本地选取的文件转换为JSON赋值给jsonContent 然后我们的模板文件是利用el-dialog和el-upload两个组件组合:这里停止文件自动上传模式:auto-upl
-
Node.js开发教程之基于OnceIO框架实现文件上传和验证功能
OnceIO 是 OnceDoc 企业内容(网盘)的底层Web框架,它可以实现模板文件.静态文件的全缓存,运行起来完全不需要I/O操作,并且支持客户端缓存优化,GZIP压缩等(只在第一次压缩),拥有非常好的性能,为您节约服务器成本.它的模块化功能,可以让你的Web进行分布式存储,即一个扩展包里即包含前端.后端和数据库定义,只需通过添加/删除目录的方式就可实现功能删减,实现真正的模块化扩展.这里是介绍如何使用OnceIO的一系列文章. 在这一章节中,我们将为大家演示如何使用 OnceIO 实现文件
-
详解Java的Struts框架中上传文件和客户端验证的实现
文件上传 Struts 2框架提供了内置支持处理文件上传使用基于HTML表单的文件上传.上传一个文件时,它通常会被存储在一个临时目录中,他们应该由Action类进行处理或移动到一个永久的目录,以确保数据不丢失. 请注意,服务器有一个安全策略可能会禁止写到目录以外的临时目录和属于web应用的目录. 在Struts中的文件上传是通过预先定义的拦截文件上传拦截器这是可通过org.apache.struts2.interceptor.FileUploadInterceptor类的defaultStack
-
多个上传文件用js验证文件的格式和大小的方法(推荐)
html部分: <dsp:form action="${originatingRequest.requestURI}" method="post" enctype="multipart/form-data"> <dsp:input type="file" bean="ReturngoodsFormHandler.uploadedFile1" id="uploadedFile1&q
随机推荐
- python创建一个最简单http webserver服务器的方法
- CKEditor 取消转义的两种方法
- Lua字符串库(string库)学习笔记
- 使用 iisext.vbs 禁用 Web 服务扩展的方法
- 详解VirtualBox虚拟机网络环境解析和搭建-NAT、桥接、Host-Only、Internal、端口映射
- 详解java中this.getClass()和super.getClass()的实例
- python中reload(module)的用法示例详解
- Javascript中获取对象的原型对象的方法小结
- 奇偶行高亮显示及鼠标划过高亮显示类
- Php图像处理类代码分享
- python中模块查找的原理与方法详解
- asp下DateDiff 函数参数说明
- 浅析jQuery中调用ajax方法时在不同浏览器中遇到的问题
- mysql "too many connections" 错误 之 mysql解决方法
- javascript日期处理函数,性能优化批处理
- SQL Server触发器及触发器中的事务学习
- 实用的银行转账存储过程和流水号生成存储过程
- javascript object oriented 面向对象编程初步
- Linux输出信息并将信息记录到文件(tee命令)
- Java中避免写嵌套if样式的代码详解