首页  >  文章  >  后端开发  >  为什么当“upload_max_filesize”设置高于“post_max_size”时我的文件上传失败?

为什么当“upload_max_filesize”设置高于“post_max_size”时我的文件上传失败?

Patricia Arquette
Patricia Arquette原创
2024-10-28 12:41:02412浏览

Why Does My File Upload Fail When `upload_max_filesize` is Set Higher Than `post_max_size`?

了解 PHP 中 post_max_size 和 upload_max_filesize 的作用

在 PHP 中处理文件上传时,了解两者之间的相互作用至关重要post_max_size 和 upload_max_filesize 指令。这些设置确定文件上传的最大允许大小,但它们有不同的用途。

定义差异

  • upload_max_filesize:此指令设置上传的单个文件的最大大小限制。
  • post_max_size: 该指令指定整个 HTTP 请求正文的最大大小限制,包括所有表单数据和上传的文件。

对文件上传的影响

在您的场景中,尽管将 upload_max_filesize 设置为 16MB,但您仍遇到错误,指示超出了 post_max_size (8MB)。这是因为 post_max_size 限制了请求正文的整体大小,其中包括表单内容和任何上传的文件。

澄清限制

为了澄清,upload_max_filesize充当可上传的每个单独文件的大小上限。同时,post_max_size对请求中可以提交的所有数据的累积大小进行了限制。

如何发送更大的文件

如果需要上传文件大于 post_max_size 允许的值,则无法增加 upload_max_size。相反,您必须调整 post_max_size 以适应更大的文件大小。

识别超过 post_max_size

值得注意的是,当超过 post_max_size 时,PHP 没有提供明确的指示。通常,$_POST 和 $_FILES 将为空,但 $_SERVER['CONTENT_LENGTH'] 将为非零。通过监视此组合,您可以确定何时达到 post_max_size。

以上是为什么当“upload_max_filesize”设置高于“post_max_size”时我的文件上传失败?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn