我已经在php.ini中将上传限制设置为3M。如果有人上传了一个50 MB的文件,那么当上传到3Mb时上传是停止还是在上传完成之前继续上传,然后读取文件大小并删除文件?
答案 0 :(得分:5)
如果您使用Apache作为Web服务器,那么在请求完成之前,PHP无法启动。因此,上传限制仅在整个上传完成后才会生效。 Apache first 接收整个请求,只有才会调用相应的处理程序(在本例中为PHP)。由于没有服务器端机制来中止正在进行的HTTP请求和返回响应,因此您需要等到整个请求完成。
因此,要回答您的问题:否,上传将全部完成; PHP的内部逻辑将检查上传的文件大小,看它是否大于限制,然后立即失败并出现错误。您的PHP脚本将不有机会运行,因此不要依赖运行时检查 - 它们根本不会被执行。