form提交表单没接收到$_POST

分享一个最近做项目遇到的奇葩经历:

很奇怪的,我在弄一个表单提交的时候,后台验证就报了非post提交错误

我就郁闷了,我form明明写的method为post,不可能是非post错误啊

经历反应测试,发现选择一张图片提交就可以,当选择两张图片提交的时候,就报非post提交错误

查看浏览器的控制台(Network),看的请求提交头也是post,没问题。那就确定是提交图片的问题咯

再反应测试,发现,当提交两张一样的图片的时候不行,提交两张不一样的图片的,他又可以了!!!??

难道浏览器还有“不可以form提交两个一样的文件”这种低级的bug?????

显然不是!

再经历反复测试,发现提交另外一张图片(我之前测试时都是选了一张特定的图片,这次不选它了),竟然提交两张一样的也可以,也可以,也可以!!!

那就神了个奇了,第一张图片到底那么奇葩,提交不是两张,提交一张就可以?????

好吧,揭晓谜底了~

答案其实很简单,那就那张图片“太大”了,有1M多,而我本地的环境(ini)配的 post_max_size 竟然是2M,竟然是2M,竟然是2M!!!!!!!!!!!!!!

就是这么简单的一个问题(然而我觉得比较奇葩的是php竟然不报错,直接就获取不到$_POST和$_FILES),把 post_max_size 和 upload_max_filesize 调大或限制上传文件的大小就可以了~

原文地址:https://www.cnblogs.com/tujia/p/6698155.html