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

先声明下我用的是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版本,其它版本注意修改下写法.

时间: 2024-10-07 09:28:19

kohana框架上传文件验证规则写法示例_php实例的相关文章

yii使用activeFileField控件实现上传文件与图片的方法_php实例

本文实例讲述了yii使用activeFileField控件实现上传文件与图片的方法.分享给大家供大家参考,具体如下: yii框架提供了activeFileField控件来完成上传文件(当然也包括了上传图片)的操作,下面介绍yii的activeFileField使用方法. 1.函数原型: 复制代码 代码如下: public static string activeFileField(CModel $model, string $attribute, array $htmlOptions=array

java中使用Struts 2框架上传文件代码

HTML表单默认值:  代码如下 复制代码 <form action="" enctype="application/x-www-form-urlencoded" method="get"> ...</form> 要使用HTML表单上传文件,需要将HTML表单的enctype属性设置为"multipart/form-data",还需要将表单的method属性设置为"post"  代码

js获取判断上传文件后缀名的示例代码

 本篇文章主要是对js获取判断上传文件后缀名的示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助  代码如下: function lastname(){  //获取欲上传的文件路径 var filepath = document.getElementById("file1").value;  //为了避免转义反斜杠出问题,这里将对其进行转换 var re = /(+)/g;  var filename=filepath.replace(re,"#");

php文件上传、下载和删除示例_php技巧

php文件上传.下载和删除示例大体思路如下,具体内容如下 一.文件上传 1.把上传文件的区域做出来 div1 2.把显示文件的区域做出来 div2 3.提交表单,上传文件 4.服务器接收文件数据 用$_FILE[name]接收 5.处理数据,看上传文件是否有错误 错误有如下几种: 1).上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值 2).上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值 3).文件只有部分被上传 4).

Codeigniter实现多文件上传并创建多个缩略图_php实例

该程序可以实现:1.同时上传5张图片2.同时生成两种尺寸的缩略图3.保存到mysql controllers:upload.php文件: 复制代码 代码如下: <?phpclass Upload extends Controller {  function go() {    if(isset($_POST['go'])) {      //初始化      $config['upload_path'] = 'album/source';       $config['allowed_types

PHP判断上传文件类型的解决办法_php技巧

分享给大家php判断上传文件类型的方法,大家一起学习学习. /** * 读取文件前几个字节 判断文件类型 * @return String */ function checkTitle($filename){ $file=fopen($filename, "rb"); $bin=fread($file, 2); //只读2字节 fclose($file); $strInfo =@unpack("c2chars", $bin); $typeCode=intval($s

js获取判断上传文件后缀名的示例代码_javascript技巧

复制代码 代码如下: function lastname(){ //获取欲上传的文件路径var filepath = document.getElementById("file1").value; //为了避免转义反斜杠出问题,这里将对其进行转换var re = /(\\+)/g; var filename=filepath.replace(re,"#");//对路径字符串进行剪切截取var one=filename.split("#");//获

PHP设置图片文件上传大小的具体实现方法_php实例

我们简要介绍一下PHP文件上传涉及到的一些参数: •file_uploads :是否允许通过HTTP上传文件的开关,默认为ON即是开.•upload_tmp_dir :upload_tmp_dir用来说明PHP上传的文件放置的临时目录,要想上传文件,得保证服务器没有关闭临时文件和有对文件夹的写权限,如果未指定则PHP使用系统默认值.•upload_max_filesize :允许上传文件大小的最大值,默认为2M.•post_max_size :控制在采用POST方法进行一次表单提交中PHP所能够

IOS开发教程之put上传文件的服务器的配置及实例分享_IOS

1,HTTP常见的方法 GET 获取指定资源 POST 2M 向指定资源提交数据进行处理请求,在RESTful风格中用于新增资源 HEAD 获取指定资源头部信息PUT 替换指定资源(不支持浏览器操作)DELETE 删除指定资源 2,配置服务器的put请求方式: 复制代码 代码如下:   1> n 打开终端p cd /etc/apache2p sudo vim httpd.conf n 在vim中输入p /httpd-dav.conf• 查找httpd-dav.confp 按0将光标移动至行首 p