PHP post_max_size会覆盖upload_max_filesize [英] PHP post_max_size overrides upload_max_filesize

查看:91
本文介绍了PHP post_max_size会覆盖upload_max_filesize的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的网站托管者中,我已经(通过phpinfo)看到了

In my site host, I have seen (via phpinfo) that

  • post_max_size = 8Mb
  • upload_max_filesize = 16Mb

这使我认为我应该能够以16Mb的大小上传文件. 但是,当我通过post方法执行此操作时(通常),post_max_size会接管并声明我发送了太多消息.

This led me to think that I should be able to upload as file as big as 16Mb. However, when I do this through a post method (as normal), post_max_size takes over and declares that I sent too much.

允许发送最大16Mb的文件的方法是什么? GET-PUT-其他?

What is the method which permits sending a file as big as 16Mb ? GET - PUT - other ?

希望有人可以帮我澄清一下.

Hope someone can clarify this for me.

西蒙(Simon)

推荐答案

upload_max_filesize是任何单个文件的限制. post_max_size是整个请求的限制,其中可能包含多个文件.

upload_max_filesize is the limit of any single file. post_max_size is the limit of the entire body of the request, which could include multiple files.

给出post_max_size = 20Mupload_max_filesize = 6M,您最多可以上传3个6M的文件.如果改为post_max_size = 6Mupload_max_filesize = 20M,那么您只能在点击post_max_size之前上传一个6M文件. upload_max_size> post_max_size.

Given post_max_size = 20M and upload_max_filesize = 6M you could upload up to 3 files of 6M each. If instead post_max_size = 6M and upload_max_filesize = 20M then you could only upload one 6M file before hitting post_max_size. It doesn't help to have upload_max_size > post_max_size.

如何识别经过post_max_size尚不清楚. $_POST$_FILES将为空,但$_SERVER['CONTENT_LENGTH']将为>0.如果客户端只是没有上传任何发布变量或文件,则$_SERVER['CONTENT_LENGTH']将为0.

It's not obvious how to recognize going over post_max_size. $_POST and $_FILES will be empty, but $_SERVER['CONTENT_LENGTH'] will be > 0. If the client just didn't upload any post variables or files, then $_SERVER['CONTENT_LENGTH'] will be 0.

这篇关于PHP post_max_size会覆盖upload_max_filesize的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆