Kohana应用程序显示PHP警告消息

时间:2013-08-08 07:08:45

标签: php kohana

我正在使用Kohana框架构建应用程序。图片上传是其中的一部分。当我尝试上传超过最大文件大小(20M)的文件时,我收到一条PHP警告消息,而不是我的验证消息或Kohana的错误处理程序。

警告:POST内容长度26871468字节超过了第0行的Unknown中的20971520字节限制

这是我的验证码:

$validate = Validation::factory($files);
$validate
    ->rule('photo', 'Upload::not_empty', array($files['photo']))
    ->rule('photo', 'Upload::valid')
    ->rule('photo', 'Upload::size', array($files['photo'], '10M'))
    ->rule('photo', 'Upload::type', array($files['photo'], array('jpg', 'png', 'gif')));

if ($validate->check())
{
    Upload::save($files['photo'], 'test.jpg', 'uploads');
}

这个警告比我从MVC访问的任何东西都要高得多。我该如何拦截此错误? (显然当应用程序在线时,PHP警告不会显示给用户,但在开发期间我需要警告。)

2 个答案:

答案 0 :(得分:1)

在验证文件之前,必须将其加载到服务器。并且因为该文件很大,所以从服务器收到错误。

答案 1 :(得分:0)

我根本不确定,只是想尝试一下,可能想把它们分开:

$validate
->rule('photo', 'Upload::not_empty', array($files['photo']);
$validate->rule('photo', 'Upload::valid');
$validate->rule('photo', 'Upload::size', array($files['photo'], '10M');
$validate->rule('photo', 'Upload::type', array($files['photo'], array('jpg', 'png', 'gif');

因为它似乎只是忽略了所有的验证,可能因为这个,我不确定。