在Codeigniter中上载文件时出现问题



我正试图在Codeigniter 3.1.11中编写一个文件上传模块。的最大文件大小已设置为20Mb

$config['max_size'] = 20480;

PHP上传限制为40Mb。

但是,当我运行它并试图上传一个重文件时,它没有正确重定向,并使用加载相同的表单

<br />
<b>Warning</b>:  POST Content-Length of 368347418 bytes exceeds the limit of 41943040 bytes in <b>Unknown</b> on line <b>0</b><br />
<!DOCTYPE html>
<html lang="en" class="h-100">

在Html代码的开头。

我相信这是因为在代码点火器限制能够正常工作和重定向之前,php大小限制首先被触发。我该如何解决此问题?

第页。S.:

  1. 我不想上传那个文件。我想要那个错误。但我想正确地捕捉错误并重定向到其他页面,而不是通过html发布。我已经在Codeigniter中编写了这部分代码,但我相信这个错误是在这部分代码执行之前抛出的
  2. 当文件大小高于Codeigniter限制但小于PHP限制时,不会发生此错误。然后,Codeigniter正确地捕捉到错误,重定向代码工作得很好

我在客户端找到了一个解决方法:

我需要添加一个JS脚本:

<script>
var uploadField = document.getElementById("file");
uploadField.onchange = function() {
if(this.files[0].size > 20971520){
alert("File is too big! Maximum limit is 20Mb");
this.value = "";
};
};
</script>

这将停止输入以接受任何大于我的Codeigner限制的文件,这将自动避免PHP限制(大于Codeigner的限制(。

相关内容

  • 没有找到相关文章

最新更新