2011-12-09 70 views
0

我正在创建一个用户可以上传文档的网站。 服务器上的设置:上传大于服务器允许的文件POST设置

upload_max_filesize 2M 
post_max_size 2M 

FTP上传是无限的。

有没有办法允许用户通过FORM上传更大的文件?

+3

编号格式上传仅限于HTTP。你需要一个客户端的Flash或Java应用程序来做FTP,或者为用户提供一个'ftp://'url,并让他们找到如何让他们的浏览器进行上传。 –

+0

@MarcB谢谢...这不是为他们工作,我知道这些用户+) –

回答

3

您可以尝试通过ini_set函数在运行时设置upload_max_filesize的php值。 但这不起作用,因为该变量没有及时设置,以便它可以真正ovverride php.ini指令。

因此,如果您不能访问了Apache的conf,你可以尝试设置这样的事情在.htaccess

我也建议设置的post_max_size,可以有很大的帮助。

php_value upload_max_filesize 32M 
php_value post_max_size 32M 
+1

PHP文档特别排除ini_set()作为一种可能性。不要这样做。其余的都会工作,但是。 – rdlowrey

+0

耶,我知道这是我建议.htaccess – holographix

+0

真的吗? _“你可以尝试通过ini_set函数设置php值”_ ...在任何情况下,+ 1改善我的答案,增加了'post_max_size' – rdlowrey

0

不,没有别的办法编辑这两个php.ini设置。

+0

有没有办法_in php_ ...虽然有其他方式,如在PHP文档中指出的。 – rdlowrey

+0

我不明白你的规格... –

+0

看看我的答案。 – rdlowrey

2

如果不具有编辑php.ini文件,你可以使用.htaccess文件:

php_value upload_max_filesize 10M 

根据http://www.php.net/manual/en/ini.list.php

项可以在php.ini中设置,或的.htaccess httpd.conf文件

值得一提的是一如既往,如果您修改php.ini文件或Apache的httpd.conf你需要看到昌前重新启动Apache es反映在您的网络环境中。

2

POST是HTTP,表单也是如此。 HTTP不是FTP。

除非您安装某种FTP UI插件(或Java/Flash应用程序),或者只是将FTP暴露给用户,否则您将无法绕过这一点。

1

如果您真的需要一种方法,并且无法更改upload_max_filesize,请让您的用户将文件分割成2M以下的部分。你可以在服务器上加入他们。 也许你可以向用户显示已上传部件的列表。每当用户上传所有部件时,他都会点击“上传的所有部件”,然后服务器将其加入。

+0

哈哈有多少终端用户,你知道谁会说:“当然,让我使用我的方便的RAR文件分割器,我将分7部分上传这个东西。” ??? – rdlowrey

+0

如果他们不知道如何拆分文件,一步一步的指导将帮助他们。如果您知道上传max_upload_filesize文件的更简单方法(或任何其他方式),请告诉我们。 – Leif

+0

不是敲你,我在平均最终用户的能力上绝望:) – rdlowrey

相关问题