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
请帮我找出解决方案。
答案 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工作,但想帮助处理大文件上传问题的人