2011-10-11 92 views
2

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

我能以某种方式防止这种情况吗?我可以在Javascript中检查文件大小,但并不是所有的浏览器都支持这一点,Flash是一个选项,但它不是通用的)。

谢谢!

+1

您可以配置您的网络服务器,以在到达PHP之前拒绝这些较大的输入请求。此外,您可以配置PHP的最大文件上传限制。到目前为止你做了什么?你当前的配置是什么(例如,看看phpinfo()),请参阅以下内容:http://stackoverflow.com/questions/757111/large-file-upload-errors-with-php – hakre

+0

可能的重复我可以限制用户上传5MB以上的服务器吗?](http://stackoverflow.com/questions/4476350/how-can-i-limit-users-from-uploading-more-then-5mb-to-the -server) – hakre

回答

8

使用LimitRequestBody Directive.htaccess

实施例(设定1Mb的极限)。创建/修改.htaccess文件(在你的根目录,或更高),并添加:

LimitRequestBody 1048576 

当超出限制时,请求将被中断。用户将得到类似的回应:

413请求实体太大


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

+0

服务器引发错误。 – MasterCassim

+3

HTTP错误413请求实体太大 – jah

+1

@jah:感谢您提供其他信息。 – hakre

相关问题