26

可能重复:
覆盖upload_max_filesize

我使用这些代码来更改上传文件的大小:-

echo ini_get('upload_max_filesize').'<br/>';
ini_set("upload_max_filesize","300M");
echo ini_get("upload_max_filesize");

但我得到了

2M
2M

这是在 php.ini 中设置的。

我想更改文件上传大小限制。

4

3 回答 3

66
  1. http://php.net/manual/en/ini.list.php

upload_max_filesize "2M" PHP_INI_PERDIR

  1. http://php.net/manual/en/configuration.changes.modes.php

PHP_INI_PERDIR 条目可以在 php.ini、.htaccess、httpd.conf 或 .user.ini 中设置(自 PHP 5.3 起)

所以你不能用ini_set这个。

于 2012-11-18T17:02:32.893 回答
7

你也需要增加post_max_size

上传大文件,这个值必须大于upload_max_filesize

您可能还需要增加memory_limit

如果您的配置脚本启用了内存限制,那么 memory_limit 也会影响文件上传。一般来说,memory_limit 应该大于 post_max_size。

正如其他人指出的那样,upload_max_filesize不能在运行时更改(使用ini_set)。然而,一旦你正确地改变了它,你仍然需要增加这些值

于 2012-11-18T16:59:55.990 回答
3

PHP 文档说:

可用选项有 K(千字节)、M(兆字节)和 G(千兆字节;自 PHP 5.1.0 起可用),这些选项不区分大小写。其他任何东西都假定字节。1M 等于 1 兆字节或 1048576 字节。1K 等于 1 千字节或 1024 字节。您不能在 php.ini 之外使用这些速记符号,而是使用整数值 bytes

于 2012-11-18T17:00:01.100 回答