如何设置联系人表单的总大小限制

时间:2019-02-12 作者:Bjørnar Hagen

我有一个客户,他希望能够上传一个30MB的图像,或几个较小的图像,总计30MB。有没有办法解决联系人表单7或任何其他表单插件的问题?

这是的副本Upload files - total size limit - Wordpress/Contact Form 7

那里的用户解决了这个问题。但没有分享如何解决,我也没有足够的声誉来评论这个问题,问他是如何解决的。。。所以我只能再问一次

非常感谢您的帮助。

1 个回复
SO网友:Fabrizio Mele

其他问题的用户提到.user.ini 文件,它是PHP的.htaccess 是针对Apache的,即本地配置文件。

您正在寻找限制POST 请求,这是发送表单/上载内容的标准请求类型。您要查找的php设置是post_max_size.

创建.user.ini 在您域的根目录中(具有wp-config.php 文件),并将这一行放在里面:

post_max_size = 30M
这将使php脚本拒绝任何大于3000万的提交,还包括文本字段和所有内容。但是,这取决于您的上传逻辑(ajax?direct post?)你必须处理“上传太大”的情况。如果您正在进行“简单”表单提交,您将获得413 Request entity too large HTTP错误。在这种情况下,你应该考虑做一点apache+htaccess magic 并创建一些自定义错误页。如果通过ajax提交进行上传,那么只需在ajax回调中进行简单检查。

此外,在允许提交之前,您真的应该进行客户端检查:想象一下,一个用户等待了整整几分钟的32M文件上传,却得到了一个错误页面。看看this 了解如何在javascript中执行客户端大小检查的问题。

EDIT

如果您使用的是nginx和/或php-fpm,上述说明略有不同,但很容易找到与nginx等效的设置。

相关推荐

在第三方API响应后发送Gravit Forms通知

我有一个重力表单,在提交时将数据发送给第三方API。它与以下代码连接并通过API保存数据。然而,我现在正试图弄清楚,只有当API响应返回为失败或状态代码201以外的任何内容时,才如何发送管理员通知电子邮件。add_action( \'gform_after_submission_1\', \'post_to_third_party\', 10, 2 ); function post_to_third_party( $entry, $form ) { $post_url =