2012-07-21 65 views
2

我被卡在这里与文件上传问题。我搜索了答案,但只发现“增加post_max_size和upload_max_filesize”的建议,这对我不起作用。我不能上传大文件(大约150MB左右+),下面是我的php.ini的设置和我的环境php上传大文件

的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(file)从XmlHttpResponse请求发布了文件数据。我调试过萤火虫头信息是正常的,发布完全空白(通常它应该是文件数据,一个可读的文本),cookie是ci_session cookie,并且根本没有xhr响应文本。尽管如此,我已经编写了一个脚本,它将返回一些响应。

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

如果应该有任何信息可以查找并提供给您以解决此问题,请告诉我。

thx提前。

+1

你试图提高Web服务器的' TimeOut'指令?默认值是300秒。查看[这里](http://httpd.apache.org/docs/2.0/mod/core.html)获取文档。 – dave 2012-07-21 07:47:59

+0

你也可以在你的控制器方法中添加'set_time_limit(0);'。 – Dale 2012-07-21 08:02:34

回答

6

改为使用标准形式上传尝试使用xhr对象(如您所说)上传,但使用文件块方法将文件发送到服务器,这样在理论上您应该没有上传限制。试试这个上传的jQuery插件,也提供了PHP脚本:

http://code.google.com/p/ax-jquery-multiuploader/上移开,因为CAN NOT十个分量

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

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

+0

实施起来很不错,非常感谢 – Mysteltainn 2012-07-27 03:52:35

+2

这是一个很好的答案。现在的链接似乎已经死亡。 – Finglish 2013-10-16 07:38:17

5

如果你正在上传非常大的文件,如几GB,那么实际上浏览器端的限制。看来,大多数现代浏览器是2GB - 4GB。你应该看看分块(上传文件的一部分,一次只需几MB)上传文件。

+0

经过数小时的寻找解决方案,我决定使用文件分块。谢谢 – Mysteltainn 2012-07-27 03:51:47

+0

很高兴能帮到您 – 2012-07-27 04:46:49