【问题标题】:Upload max size in PHP?在 PHP 中上传最大大小?
【发布时间】:2011-03-16 20:42:36
【问题描述】:

是否可以使用 PHP 上传 ~100 MB 的文件?

如果是这样,配置文件 (php.ini) 需要进行哪些更改?

斯里

【问题讨论】:

  • “可能”!==“好主意”
  • @symbcbean 我想说这真的取决于,不是吗?如果您有某种面向公众的上传界面并且您不能使用 FTP...

标签: php ini uploading


【解决方案1】:

以下选项是相关的:

可能

【讨论】:

    【解决方案2】:

    在你的php.ini调整值:

    file_uploads = On
    upload_max_filesize = 100M //needs to be in {x}M format
    

    并允许更大的帖子大小:

    post_max_size = 100M
    

    【讨论】:

      【解决方案3】:

      要允许使用 PHP 进行更大的上传,您必须更改 php.ini 文件中的一些设置(upload_max_filesize、max_input_time、memory_limit、max_execution_time、post_max_size)。您可以在您的 PHP 安装目录下找到您的 php.ini 文件,以及有关所需设置的更多信息here。

      【讨论】:

      • 感谢您提醒我max_input_time,+1。但max_execution_time 和memory_limit 并不真正适用 - 如果上传的文件只是移动到另一个位置,则不适用。
      【解决方案4】:

      这让我很困惑,所以只想补充一下:

      如果您的项目也使用 nginx(例如 buildpack),您可能必须将 client_max_body_size 100M; 添加到您的 nginx.conf 文件中,因为 nginx 默认仅使用 @987654324 @ (1 MB) - 除了上面提到的 PHP 设置。

      关于 PHP 设置,我在项目的根级别创建了一个 .user.ini 文件,以更改我想要从默认 php.ini 文件覆盖的一些设置。

      在我的设置中(使用dokku)它位于/etc/nginx/nginx.conf,然后通过nano nginx.conf 添加了额外的行。我不直接使用 nginx,但我的 buildpack 会添加它。

      希望这可以帮助某人:)

      【讨论】:

        【解决方案5】:

        你只需要在php.ini文件中更改服务器的超时时间和最大文件大小。

        http://blog.jc21.com/2007-05-03/change-the-maximum-upload-size-with-php/

        编辑:您可能不需要更改服务器的超时时间,因为这实际上取决于您在哪个服务器上运行。

        【讨论】:

        • 上传时间不计入执行时间。
        • @Pekka 是的,我只是在写完之后才想到这一点,这就是我添加编辑的原因。
        猜你喜欢
        • 2010-10-18
        • 2011-12-19
        • 2014-05-28
        • 2017-08-01
        • 1970-01-01
        • 2012-10-16
        • 2014-08-14
        • 1970-01-01
        • 2012-09-02
        相关资源
        最近更新 更多