我的PHP配置的文件上传限制为2MB。
如果我尝试上传(通过PHP脚本)一个超过2MB的文件,当它达到2MB时,浏览器不会停止,它会上传整个文件,然后我的PHP脚本说它太大了。
我的问题是,为什么浏览器不在2MB时停止并拒绝文件?如果超过限制,文件将不会被存储,那么上传的数据实际会去哪里?
我的VPS配置有512MB RAM和7GB存储空间。这是否意味着有人可以上传大于512MB或7GB的文件,这会因为服务器内存/空间不足而导致服务器崩溃?
PHP只有在请求完成后才能获得请求。如果您想提前中止,Web服务器中有一些方法,如Apache的LimitRequestBody
或nginx的client_max_body_size
。然而,这些失败非常丑陋,为了让用户更友好,另一个选项是使用分块上传,这个问题中提到了几个选项