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

时间:2011-10-11 15:31:53

标签: php javascript apache file-upload

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

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

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

谢谢!

1 个答案:

答案 0 :(得分:8)

使用.htaccess中的LimitRequestBody Directive

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

LimitRequestBody 1048576

超出限制时,请求将中断。用户将得到类似于以下的响应:

  

413请求实体太大

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