同时上传的php文件数量上限是多少?

25

我正在使用带有PHP的 标签上传多个文件。 我注意到如果我选择超过20个文件,PHP仅上传前20个文件。 有没有办法扩展这个限制?

5个回答

50

为了避免一种类型的DOS攻击,即临时文件耗尽,PHP 5.2.12中添加了此限制。

PHP 5.2.12的更改记录:

添加了“max_file_uploads”INI指令,默认情况下可以将每个请求的文件上传数量限制为20个,以防止可能的DOS攻击通过临时文件耗尽,由Bogdan Calin识别。(CVE-2009-4017,Ilia)

您可以通过更改max_file_uploads指令来增加此限制。


它是在5.2.12版本中引入的:https://www.php.net/releases/5_2_12.php - Marco Sulla

2

上传的总大小受限制,而不是文件数量。您可以通过编辑php.ini中的这一行来更改总大小:

   post_max_size = 256M

或更多。因此,如果您想上传50个100 MB的文件,则应将此限制设置为超过5000 MB。


+1,这个设置非常重要。在PHP 5.3.1+上,即使将max_file_uploads指令设置为更大的数字(默认值为20)以允许在一个请求中上传更多文件,在没有增加post_max_size指令的情况下,文件的总大小可能会超过允许的限制并失败。因此,这个解决方案连同@artefacto的解决方案将会得到期望的结果。 - Fr0zenFyr

-1

我认为这不是20个限制的问题,而是php配置post_max_size和upload_max_filesize或者上传表单处理不当的问题。你能给我们展示一下你的表单和处理的样本源代码吗?


-1

您需要在php.ini文件中更新max_file_uploads权限和upload_max_filesize。

您可以在php.ini文件中添加此行。

max_file_uploads=100
upload_max_filesize = 500M

这个答案是多余的。已经选择的答案已经给出了回复。 - albanx

-4

请查看 php.ini 中的 upload_max_filesize


这并没有提供问题的答案。如果要批评或请求作者澄清,请在他们的帖子下留言。-【来自审查】 - Sebastian Brosch
@sebastianbrosch 这似乎是一个尝试回答的结果。如果您认为这是错误或不完整的,您可以将其投票降级。不要滥用LQPRQ删除此类帖子。 - Artjom B.
@ArtjomB. - 这是低质量的代码,应该作为注释! - Sebastian Brosch
@sebastianbrosch 请阅读“非答案”(没有尝试回答)和“质量非常低”(胡言乱语)的描述。此外,这可能会有所帮助:你的答案在另一个城堡里:什么时候不是答案? - Artjom B.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接