0

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

警告:26871468 字节的 POST 内容长度超过第 0 行未知中 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 警告不会显示给用户,但在开发过程中我需要警告。)

4

2 回答 2

1

在验证文件之前,必须将他加载到服务器。而且由于文件太大,您会收到来自服务器的错误。

于 2013-08-09T09:41:50.073 回答
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');

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

于 2013-08-08T07:16:53.273 回答