无法上传文件> 3 mb

时间:2012-06-21 13:16:55

标签: php file file-upload

Iam尝试使用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

请帮我找出解决方案。

4 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

您是否检查过脚本的超时?默认为30秒......也许这是限制......

答案 2 :(得分:0)

因为你需要花费很多时间才能超过30秒的超时时间

你可以通过添加

来改变它

喜欢

    set_time_limit(60);

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

和 运行此代码

 <?php
     phpinfo();  ?>

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

答案 3 :(得分:0)

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

对于大型文件,如果您不想处理配置服务器设置(特别是如果您使用共享主机或其他不能完全控制服务器的主机),一个可能的解决方案是将上传内容交给第三方服务。

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

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