在php中上传大文件

问题描述:

如何在PHP中上传大于2MB的文件,我搜索了互联网,并且我更改了php.ini文件,该行是:"upload_max_filesize = 200M",但我仍然无法上传2 MB文件。在php中上传大文件

什么似乎是问题?

请帮助我。提前感谢。

+0

你的'不能'是什么意思?你可以说得更详细点吗?来自error_log的任何错误都会非常有用。 – Emmerman 2011-04-07 11:21:13

+0

您是在共享主机上运行还是在本地计算机上运行? – JohnP 2011-04-07 11:21:33

+2

有关于堆栈溢出的** LOADS **问题。你有搜索吗? – 2011-04-07 11:22:20

正如你猜,你必须设置upload_max_filesize ...


你也必须设置post_max_size(引用):允许

集后数据的最大大小。
此设置也会影响文件 上传。要上传大文件,这个 的值必须大于 upload_max_filesize

+0

我改变了这两件事。 – Surej 2011-04-07 11:23:52

+0

'phpinfo()'表示什么? – 2011-04-07 11:24:24

+0

@Pascal MARTIN:PHP版本5.2.6 – Surej 2011-04-07 11:27:22

也有可能限制这种其他选项:

max_input_time = 600 
php_value max_execution_time = 600 
post_max_size = 200M 

(...和重启Apache)

+0

我更改了以下值:php_value upload_max_filesize 32M php_value post_max_size 60M php_value max_execution_time 500 php_value max_input_time 500 – Surej 2011-04-07 11:29:30

+1

max_execution_time在这里做什么? – 2011-04-07 11:30:12

+0

max_execution_time用于脚本的最长生存时间以及脚本在接受输入时应花费的时间 – Surej 2011-04-07 11:33:13

将下面的代码在侧.htaccess文件并保存。

php_value upload_max_filesize 200M 
php_value post_max_size 200M 
php_value max_input_time 2000 
+0

我将它保存得比你的值大......但是没有用.. – Surej 2011-04-07 11:28:03

+1

@karthick:你必须重新启动网络服务才能生效。 – 2011-04-07 11:35:14

尝试PHP脚本(顶部)内的设置吧..

ini_set("upload_max_filesize", "255M"); 
ini_set("post_max_size, "256M"); 
+1

这将无法正常工作。太迟了 – 2011-04-07 11:45:25

+1

'这不行',解释一下。 '太迟了',解释。请。 – 2011-04-07 11:50:19

+0

我认为它不能在PHP5 – Efazati 2011-04-07 11:52:23

让你的php.ini-dist的文件,

  • 编辑它设置上面显示正确的价值观
  • 将其重命名为php.ini
  • 将其复制到WINDOWS目录中
  • 重新启动Apache
+0

@Col。Sharpnel:我完成了你写的东西,但仍然在phpinfo节目中2MB – Surej 2011-04-07 11:59:51

+0

@karthick以及你必须咨询wamp文档编辑帐户php.ini – 2011-04-07 12:02:18

+0

好的......无论如何感谢Col.Sharpnel,我会自己尝试,如果我上传成功,然后我会告诉你。 – Surej 2011-04-07 12:05:34

曾几何时我面临这个问题,我的WAMP的服务器,当我搜索的解决方案,我偶然发现了这一讨论。所以,如果有人有同样的问题,这是我的工作解决方案,我希望这有助于:

  1. 我使用WAMP堆栈。通过阅读你上面的评论,你也使用WAMP堆栈。如果你不知道,WAMP服务器有两个(两个)php.ini(在PHP目录和Apache目录中)配置,一个用于CLI,另一个用于Apache本身(请参阅php.ini on WAMP server)。因此,我创建了info.php来检测我的服务器使用哪个php.ini,在我的情况下,这是Apache目录中的一个(请参阅Which PHP Ini file does my WAMP webpage uses?)。

  2. 打开你的php.ini是由您的服务器,并作为@Pascal马丁建议,改变upload_max_filesize并设置post_max_size然后重新启动服务器

  3. 再次检查您的info.php,确保upload_max_filesizepost_max_size的值已更改为您所需的值。

  4. 重新启动Apache。

这对我很有帮助,希望这个帮助。

要上传较大的文件,需要从php.ini文件更改/增加post_max_size和upload_max_filesize指令的值。

upload_max_filesize = 200M post_max_size = 201M

这将增加一个文件到200 MB的上传限制,从2 MB的默认值。