当前位置:  开发笔记 > 编程语言 > 正文

更改最大上传文件大小

如何解决《更改最大上传文件大小》经验,为你挑选了10个好方法。

我有一个我无法访问的PC上托管的网站.我有一个上传表单,允许人们上传最大30MB的mp3文件.我的服务器端脚本是用PHP完成的.

每次我尝试上传文件时,都会收到一条错误,声称该文件超出了允许的最大大小,因此我需要增加大小.我在网上的研究建议更改.htaccess我无法访问的文件,这样就行不通了.其他人建议我应该php.ini在我的root上添加一个自定义文件,这个文件不起作用.还有其他建议吗?



1> meagar..:

您需要设置的值upload_max_filesize,并post_max_size在你的php.ini:

; Maximum allowed size for uploaded files.
upload_max_filesize = 40M

; Must be greater than or equal to upload_max_filesize
post_max_size = 40M

修改php.ini文件后,需要重新启动HTTP服务器才能使用新配置.

如果你不能改变你的php.ini,那你就不走运了.您无法在运行时更改这些值; 上传大于php.ini中指定值的文件将在执行到达您的调用时失败ini_set.

请参阅核心php.ini指令的说明.


我建议在`post_max_size`上设置更大的尺寸.已发布字段的总大小可能高于文件大小,因此如果您遇到上传40MB文件的边缘情况,则会因超出`post_max_size`而失败.
你可能知道php.ini文件存储的默认路由吗?
如果您在Windows下使用WAMP,可以通过单击WAMP图标> PHP - > php.ini来编辑它.在Debian中,我的配置文件位于/ etc/php5/apache2中.

2> Andrew Moore..:

您可以通过.htaccess文件进行更改.

.htaccess文件存储在与.php文件相同的目录中.他们修改该文件夹和所有子文件夹的配置.您只需.htaccess在您选择的目录中创建一个文件(或修改它,如果存在)即可使用它们.

以下内容可以使您增加上传限制(如果服务器提供程序允许通过PHP配置更改.htaccess).

php_value upload_max_filesize 40M
php_value post_max_size 42M


看起来在.htaccess中添加它只会在运行Apache时起作用.试试吧,对我来说很好.
它似乎并不总是有效.在我的开发机器上,在.htaccess中设置了适当的值.但是在共享主机上,此设置不起作用,但错误消息显示允许的最大上载大小是我在.htaccess中设置的值.所以一个非常奇怪的情况发生了.

3> 小智..:

我有同样的问题,我创建了一个.user.ini文件,并将其放在上载脚本所在的目录中.比在该文件中我设置这两个值:

  upload_max_filesize = 40M

  post_max_size = 40M

它对我很有用!


大.也可以使用fastcgi.[需要PHP5.3或更高版本.](http://php.net/manual/en/configuration.file.per-user.php)

4> Manjar..:

您还可以使用ini_set函数(仅适用于5.3以下的PHP版本):

ini_set('post_max_size', '64M');
ini_set('upload_max_filesize', '64M');

就像@acme所说,在php 5.3及以上版本中,这个设置是PHP_INI_PERDIR指令,所以不能使用ini_set设置它们.您可以改用user.ini.


在最近的PHP版本中,这些ini-settings仅为[PHP_INI_PERDIR](http://www.php.net/manual/en/ini.list.php),因此您无法在脚本中设置它们.有关更多详细信息,请参见[此处](http://www.php.net/manual/en/configuration.changes.modes.php).

5> seanbehan..:

要找到ini文件,请先运行

php -i | grep -i "loaded configuration file"

然后打开文件并进行更改

upload_max_filesize = 2M
post_max_size = 2M

用你想要的尺寸替换2M,例如100M.

我有一篇关于更多信息的博客文章http://www.seanbehan.com/how-to-increase-or-change-the-file-upload-size-in-the-php-ini-文件换WordPress的


它将文件显示为`/ etc/php5/cli/php.ini`,但我的配置文件是`/ etc/php5/apache2/php.ini`.某种误导.

6> Eyad Farra..:

我过去有同样的问题..我通过.htaccess文件修复它

当您通过php configration进行更改时,.htaccess您应将配置放在 IfModule标记中,否则将出现内部服务器错误.

这是一个例子,它适用于我:


   php_value upload_max_filesize 40M
   php_value post_max_size 40M

如果你想了解更多,这是php referance. http://php.net/manual/en/configuration.changes.php


只要你有覆盖功能.
为了支持PHP.7,添加相同的块:

7> 小智..:

我通过创建.user.ini在PHP文件脚本所在的目录中调用的文件来解决此问题(这意味着此目录中的任何PHP脚本都会获得新的文件大小限制)

内容如下.user.ini:

upload_max_filesize = 40M
post_max_size = 40M


这是我的解决方案。一切正常。如果您使用诸如codeignitor之类的框架,则“ .user.ini”必须与index.php放在同一位置

8> nrmb..:

我有同样的问题。我尝试了通常建议的三种方法:

    functions.php

    php.ini

    .htaccess

没有一个解决了我的问题。我正在使用Godaddy,并遇到了一个建议的解决方案,它是:

    进入虚拟主机,然后管理

    在“ 软件”下,选择“ 选择PHP版本”

    选择表右上角以字体颜色显示的“ 切换到PHP选项”:蓝色

    在最底部,您可能会拥有upload_max_filesize = 2M

    现在,随时进行更改

    确保单击“ 保存”按钮!

    现在转到您的wp-admin面板,依次选择Media和Add

瞧!现在您有了不同的最大上传文件大小:)



9> The EasyLear..:

很多次,我注意到共享主机托管的网站不允许更改php.ini文件中的设置。一个甚至都不能创建.htaac​​cess文件。在这种情况下,可以尝试以下操作

ini_set('upload_max_filesize', '10M');
ini_set('post_max_size', '10M');
ini_set('max_input_time', 300);
ini_set('max_execution_time', 300);



10> Toskan..:

答案有点不完整,您必须做三件事

在您的php安装程序的php.ini中(请注意:取决于您是否希望它用于CLI,apache或nginx,请找到正确的php.ini进行操作。对于nginx,它通常位于/etc/php/7.1/fpm7.1取决于您的版本。对于apache通常/etc/php/7.1/apache2

post_max_size=500M

upload_max_filesize=500M

memory_limit=900M

或设置其他值。如果已安装apache,请重新启动/重新加载apache;如果使用nginx,请为nginx 重新启动php-fpm

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有