【问题标题】:Can not upload files > 3 mb无法上传大于 3 mb 的文件
【发布时间】:2012-06-21 13:16:55
【问题描述】:

我正在尝试使用 php 上传文件。我可以上传最大 3 mb 的.zip 文件。但不能上传> 3mb的文件。提交html表单需要很多时间。我已经使用以下代码检查了上传和内存详细信息。

$max_upload = (int)(ini_get('upload_max_filesize'));
$max_post = (int)(ini_get('post_max_size'));
$memory_limit = (int)(ini_get('memory_limit'));
$upload_mb = min($max_upload, $max_post, $memory_limit);

它给出的输出为

max_upload=10
memory_limit=64
upload_mb=10

请帮我找出解决办法。

【问题讨论】:

标签: php file file-upload


【解决方案1】:

也可以是网络服务器,请参阅 apache 的 LimitRequestBody 或 nginx 的 client_max_body_size

另一个原因是代理(透明代理?)。您可以通过让其他人尝试上传文件来测试这一点

【讨论】:

    【解决方案2】:

    您是否检查过脚本的超时时间?默认情况下是 30 秒...也许这就是限制...

    【讨论】:

    • 如何查看?提前致谢
    • 文件上传时间不计入 PHP 脚本的最大执行时间。
    • 我已经插入了代码 set_time_limit(1000);在 php 脚本的顶部,但结果相同。问题是控制没有进入 php 脚本。
    【解决方案3】:

    因为它需要很多时间可能是你超过了 30 秒超时

    你可以通过添加来改变它

    喜欢

        set_time_limit(60);
    

    来自http://php.net/manual/en/function.set-time-limit.php

    和 运行这段代码

     <?php
         phpinfo();  ?>
    

    运行该文件以获取您的系统设置(搜索 upload_max_filesize 等);

    【讨论】:

    • 我已经检查了所有,但结果相同:(
    • 尝试使用 exit 来调试您的代码,并检查控制在哪里通过以及在哪里停止,您是否有类似 echo "vv" 的错误;退出;
    【解决方案4】:

    我对之前的一个PHP大文件上传问题给出了相同的答案,但答案仍然适用:

    对于大文件,如果您不想处理配置服务器设置(尤其是在共享主机或其他无法让您完全控制服务器的主机上),一种可能的解决方案是将上传文件交给第三方服务。

    例如,您可以让表单直接发布到 Amazon S3 (http://s3.amazonaws.com/doc/s3-example-code/post/post_sample.html) 或使用类似Filepicker.io的服务

    完全披露:我在 Filepicker.io 工作,但想帮助那些处理大文件上传问题的人

    【讨论】:

      猜你喜欢
      • 2018-08-27
      • 2016-01-23
      • 2020-12-05
      • 2013-03-04
      • 2014-05-13
      • 2012-06-29
      • 2014-03-04
      • 1970-01-01
      • 2013-02-22
      相关资源
      最近更新 更多