在PHP上,他们有一种方法可以在上传后限制文件大小,但不能在上传前限制文件大小。我使用Malsup jQuery表单插件进行表单发布,它支持图像文件发布。我想知道是否存在限制,可以设置可以通过该AJAX流将多少字节传递到服务器?这样可以让我检查文件大小,如果文件太大,则返回错误。通过在客户端执行此操作,它可以阻止那些从Pentax拍摄10MB照片并尝试上传照片的新手。
3 回答
largeQ
TA贡献2039条经验 获得超7个赞
我发现Apache2(您可能还希望检查Apache 1.5)可以通过在.htaccess文件中添加以下内容来限制此操作:
LimitRequestBody 2097152
这在文件上传时将其限制为2 MB(2 * 1024 * 1024)(如果我正确执行了字节数学运算)。
请注意,执行此操作时,如果超出表单发布或获取请求的限制,则Apache错误日志将生成此条目:
Requested content-length of 4000107 is larger than the configured limit of 2097152
并且还将在网络浏览器中显示此消息:
<h1>Request Entity Too Large</h1>
因此,如果您使用诸如Malsup jQuery Form Plugin之类的东西进行AJAX表单发布,则可能会捕获H1响应,并显示错误结果。
顺便说一句,返回的错误号是413。因此,您可以在.htaccess文件中使用伪指令,例如...
Redirect 413 413.html
...并提供更合理的错误结果。
添加回答
举报
0/150
提交
取消