如何在PHP中限制文件上传大小?

最后发布: 2011-10-11 15:31:53


问题

我想节省带宽并将上传文件的大小限制在我们的网页上。 问题是我可以设置上传文件的最大大小(例如,1 MB)但是用户可以选择50 MB文件并且可以上传它以发现PHP实际上不接受这种大小的文件 - 上传是完全没必要。

我能以某种方式阻止这种情况吗

(我可以在Javascript中查看文件大小,但并非所有浏览器都支持此。闪存是一种选择,但它也不是通用的)。

谢谢!

php javascript apache file-upload
回答

.htaccess使用LimitRequestBody指令

示例(设置1Mb限制)。 创建/修改.htaccess文件(在您的webroot或更高版本中),并添加:

LimitRequestBody 1048576

超过限制时,请求将被中断 用户将获得类似于以下内容的响应:

413请求实体太大


另外: 规则1:永远不要相信客户! 您应该始终在服务器端进行此类检查,因为客户端可以轻松绕过您的JavaScript检查,并执行不受服务器限制的任何操作。