php.ini上传与最大文件大小是否合并?

php.ini上传与最大文件大小是否合并?,php,file-upload,Php,File Upload,upload\u max\u filesize是针对单个文件还是针对多个文件 例如,如果属性设置为upload\u max\u filesize:5M,是否可以上载三个单个文件,每个文件的大小为2MB(总共6MB)?还是因为upload\u max\u filesize设置为5MB,所以这不起作用 我一直在做一些测试,但我想知道社区的观点。使用post\u max\u size设置每个文件的最大文件大小的总和和上传最大文件大小 检查: upload\u max\u filesizeint-上载

upload\u max\u filesize
是针对单个文件还是针对多个文件

例如,如果属性设置为
upload\u max\u filesize:5M
,是否可以上载三个单个文件,每个文件的大小为2MB(总共6MB)?还是因为
upload\u max\u filesize
设置为5MB,所以这不起作用


我一直在做一些测试,但我想知道社区的观点。

使用
post\u max\u size
设置每个文件的最大文件大小的总和和
上传最大文件大小

检查:

  • upload\u max\u filesize
    int
    -上载文件的最大大小。使用int时,该值以字节为单位。也可以使用中所述的速记符号

  • post\u max\u size
    int
    -设置允许的post数据的最大大小。此设置还影响文件上载。要上载大文件,此值必须大于
    upload\u max\u filesize
    。一般来说,应该大于
    post\u max\u size
    。使用int时,该值以字节为单位。也可以使用中所述的速记符号。如果post数据的大小大于
    post\u max\u size
    ,则
    $\u post
    $\u超全局文件将为空。这可以通过多种方式进行跟踪,例如通过将
    $\u GET
    变量传递给处理数据的脚本,即
    ,然后检查是否设置了
    $\u GET['processed']

我可以确认
上传最大文件大小
是每个文件的最大大小

e、 g.使用
upload\u max\u filesize=2M
,您可以上载3个
1.5M
的文件

我刚刚通过测试证实了这一点


您应该关注的限制:
  • upload_max_filesize
    (默认值
    2M
    ):每个文件的最大大小
  • max_file_上传
    (默认值
    20
    ):每个请求可发送的最大文件数
  • post_max_size
    (默认值
    8M
    ):每个请求的最大原始数据大小
    post_max_size
    必须大于以下大小之和:
    • 所有上传的文件
    • 其他POST字段中的所有数据
    • 多出几KB,以考虑将有效负载中的每个文件和每个POST字段包装起来的
      多部分/表单数据
      开销(头/边界)
请务必小心这些限制,因为如果超过其中一个限制,PHP将不会出错;相反,您将得到部分或空的
$\u POST
$\u文件
,并且可能很难调试该问题


例如,
max\u file\u uploads
将自动忽略任何超过
n
th上传文件的文件,最终您将得到一个截短的文件列表,没有任何警告。

测试结果是什么?上传max\u filesize基于每个post请求。您确定上载max\u filesize是每个文件吗,除了@l'l'l所示的所有上传文件的总大小之外,引用的文档仍然没有让我清楚地知道
upload\u max\u filesize
是一个文件还是组合文件。@Benjamin,文档说
upload\u max\u filesize
是“上传文件的最大大小”,而不是“所有上传的文件”,所以是的,它是每个文件,而不是总数。