php上传大文件

时间:2012-07-21 07:41:45

标签: php upload large-files

我遇到了文件上传问题。我搜索了答案,但发现只有“增加post_max_size和upload_max_filesize”的建议,这对我不起作用。我无法上传大文件(大约150mb +),以下是我的php.ini设置和我的环境

的php.ini

 - max_input_time 300
 - max_execution_time 600
 - memory_limit 1024M
 - upload_max_filesize 1512M
 - post_max_size 2048M

环境

 - Webserver: XAMPP
 - PHPFramwork: CodeIgniter

我也尝试了很多其他的php.ini配置。我构建的文件上传类使用xhr.send(文件)从XmlHttpResponse请求中发布了文件数据。我用firebug标头调试了infos是正常的,post完全是空的(通常它应该是文件数据,可读文本),cookies是ci_session cookie,根本没有xhr响应文本。我编写了一个脚本,无论如何都会返回一些响应。

我不是这方面的专家,而是新手。我掌握的所有信息都可以给你们。那么,关于这件事发生的任何想法?我真的被困在这里无法解决这个问题。

如果有任何我可以查找的信息并将其交给您以解决此问题,请告诉我。

提前thx。

2 个答案:

答案 0 :(得分:6)

而不是使用标准表单上传尝试使用xhr对象上传(如您所说)但使用文件块方法将文件发送到服务器,这样理论上您应该没有上传限制。试试这个上传jquery插件,它也提供了php脚本:

http://code.google.com/p/ax-jquery-multiuploader/删除,因为无法使用

新链接(免费): http://www.albanx.com/download.php?item_id=4

文档: http://www.albanx.com/ajaxuploader/doc.php

答案 1 :(得分:5)

如果您要上传非常大的文件(例如几GB),那么实际上存在浏览器方面的限制。大多数现代浏览器似乎都是2GB - 4GB。你可能应该研究一下你的文件上传的分块(一次上传部分文件)。