上传的文件大于服务器POST设置允许的大小


Uploading files larger than allowed in servers POST settings

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

upload_max_filesize 2M
post_max_size 2M

FTP上传无限制。

是否有一种方法允许用户通过表单上传更大的文件?

您可以尝试使用ini_set函数在运行时设置upload_max_filesize的php值。但这是行不通的,因为变量没有及时设置,所以它不能真正覆盖php.ini指令。

如果你无法访问apache配置文件,你可以尝试在。htaccess

中设置这些

我还建议设置post_max_size,这可以帮助很多。

php_value upload_max_filesize 32M
php_value post_max_size 32M

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

除非你安装了某种FTP UI插件(或Java/Flash应用程序),或者简单地将FTP暴露给用户,否则你将无法绕过此问题。

如果你没有权限编辑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,那么在您看到更改在web环境中反映之前,您需要重新启动apache。

如果您确实需要一种方法并且无法更改upload_max_filesize,那么让您的用户将文件拆分为2M以下的部分。你可以在服务器上加入他们。也许你可以向用户展示上传部件的列表。每当用户上传所有部件时,他点击"所有部件上传",然后服务器将它们连接起来。

不,除了编辑这两个php.ini设置,没有其他方法。