当用户上传超过限制的文件时,PHP会做什么?

时间:2014-09-25 18:49:36

标签: php file file-upload

我的PHP配置文件上传限制为2MB。

如果我尝试上传(通过PHP脚本)一个超过2MB的文件,浏览器在达到2MB时就不会停止,它上传整个文件,然后我的PHP脚本说它太大了。

我的问题是,为什么浏览器不会停在2MB并拒绝该文件?由于文件超出限制时不会存储,实际上传的数据实际上去了哪里?

我的VPS配置了512MB RAM和7GB存储空间。这是否意味着某人可以上传大于512MB或7GB的文件,并且它会因内存/空间不足而终止服务器?

1 个答案:

答案 0 :(得分:1)

PHP仅在完成后才收到请求。如果您想提前中止,您的网络服务器中有一些方法,例如Apache的LimitRequestBody或nginx' client_max_body_size。那些失败相当丑陋,为了使其更加用户友好,另一种选择是使用分块上传,are several options mentioned in this question