当尝试通过为此创建的管理区域上传15mb的PDF
文件时,没有任何反应。没有成功或错误消息,但PDF
没有上传。
然后我认为这可能是php.ini
设置的问题。果然,当我查看文件时,我发现限制设置为8米。我假设的意思是8mb。
post_max_size: http://php.net/post-max-size
; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
post_max_size = 20M
upload_max_filesize: http://php.net/upload-max-filesize
; Maximum allowed size for uploaded files.
upload_max_filesize = 20M
查看评论时,似乎有一个用于上传文件,而另一个用于直接与POST
数据相关。我感到困惑的是这种情况:如果您的表单POST
将图片发送到另一个页面,那么这个表单会被计为upload_max_filesize
或{{1 }}?它属于两者吗?一个优先吗?是否存在使用一种而不是另一种的情况?
修改
因此,如果我有一个包含3个文件输入的表单,所有允许20mb或更小的文件,则必须设置如下设置:
post_max_size
答案 0 :(得分:26)
你是对的。 post_max_size
是所有POST正文数据的最大大小。如果您正在发布JSON或DVD集合并不重要,这就是所有POST正文数据。您的文件上传计入此限制。您还应该知道,如果您要上传多个文件,则文件总大小必须符合此限制。
upload_max_filesize
是仅适用于POST的文件的最大大小。其他类型的POST正文数据不受此限制。
简而言之,如果您要上传大文件,则必须增加两个限制。
答案 1 :(得分:4)
post_max_size就像超集一样。 upload_max_filesize位于文件上传的上下文中,但检查了post_max_size是否存在所有类型的POST数据。它可以是一个非常大的内容,可以发布受post_max_size限制。因此,对于要上传的大文件,您需要更改这两个限制。