我正在开发一个应用程序,它允许在web服务器上上传和存储大文件。目前我正在使用PHP通过http来处理POSTed文件。我的php.ini设置为:
upload_max_filesize = 100M
post_max_size = 100M
memory_limit = 128M
max_input_time = 6000
max_execution_time = 6000似乎没有为LimitRequestBody设置任何apache指令。我使用APC来跟踪文件上传进度。由于某些原因,文件上传总是在50M处停止。
我知道http不是最有效的文件上传解决方案,但这个应用需要用户友好,而且我知道ftp存在防火墙问题。
我想知道有没有人能给我一些建议,是什么让我的下载在50M时停止了?它必须是某种配置设置。
另外,有没有其他我应该考虑使用javascript / PHP和http上传文件的方法。我研究过java applets和flash。可能会使用swfuploader,但如果是服务器配置导致我无法通过http上传,我真的看不出java applet或flash上传程序如何解决这个问题。
我应该指出的是,我希望能想出一个解决方案,允许我在某个时候上传高达1 GB的非常大的文件。
我使用非常简单的PHP来接收文件
$uploaddir = '/'.$_POST['upload_directory'].'/';
$uploadfile = $uploaddir . basename($_FILES['file']['name']);
if (is_uploaded_file($_FILES['file']['tmp_name'])) {
if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) { some success code; }显然还有更多,但这是我如何处理上传的要点。
发布于 2009-08-27 21:22:58
经过几个小时的努力,我终于解决了这个问题。我将Extjs用于前端组件。我正在使用的upload小部件中有一个硬编码的设置,它将POST请求的MAX_ UPLOAD _FILESIZE属性设置为50M,覆盖我在其他地方设置的值。它现在可以像预期的那样工作。谢谢你的评论。
发布于 2009-08-27 19:11:02
在vhost中设置LimitRequestBody指令。
http://www.cyberciti.biz/faq/apache-limiting-upload-size/
https://stackoverflow.com/questions/1343193
复制相似问题