了解 PHP 文件上传大小限制
PHP 配置设置 post_max_size 和 upload_max_filesize 在处理文件上传中起着至关重要的作用。然而,它们的交互可能会令人困惑。
混乱
在提供的示例中,post_max_size 设置为 8Mb,而 upload_max_filesize 设置为 16Mb。从逻辑上讲,人们可能会假设可以上传高达 16Mb 的文件。但是,较小的 post_max_size 限制会覆盖此假设,导致尝试上传大于 8Mb 的文件时出现错误。
限制定义
限制的交互
post_max_size 充当通过 POST 提交的所有文件和其他数据的组合大小的总限制。这意味着即使 upload_max_filesize 允许更大的文件,总体请求大小也必须遵守 post_max_size。
大文件上传解决方案
允许上传文件如果大于 post_max_size,则需要找到一种替代方法来传输文件而不使用 POST。这可能涉及:
错误检测
当超过 post_max_size 时,$ _POST 和 $_FILES 将为空。但是,$_SERVER['CONTENT_LENGTH'] 将大于 0。需要注意的是,如果没有传输 post 变量或文件,$_SERVER['CONTENT_LENGTH'] 将为 0。
以上是PHP 的 `post_max_size` 和 `upload_max_filesize` 如何协同工作进行文件上传?的详细内容。更多信息请关注PHP中文网其他相关文章!