我正在处理将文件附加到电子邮件的 PHP 表单,并尝试优雅地处理上传文件过大的情况。
我了解到 php.ini
中有两个设置会影响文件上传的最大大小: upload_max_filesize
和 post_max_size
如果文件大小超过 upload_max_filesize
,PHP 返回文件大小为 0。没关系;我可以检查一下。
但如果它超过了 post_max_size
,我的脚本就会无提示地失败并返回到空白表单。
有什么办法可以捕捉到这个错误吗?
原文由 Nathan Long 发布,翻译遵循 CC BY-SA 4.0 许可协议
从 文档中:
不幸的是,PHP 看起来并没有发送错误。由于它发送的是空的 $_POST 数组,这就是为什么您的脚本返回到空白表单的原因 - 它认为它不是 POST。 (相当糟糕的设计决定恕我直言)
这位评论 者还有一个有趣的想法。