HTML上载最大文件大小似乎不起作用

我想知道名为MAX\u FILE\u SIZE的隐藏字段应该如何工作

<表单操作=“方法”/post“enctype=“多部分/表单数据”>
<!--“是”必须在文件字段前面-->
<输入type=“hidden”name=“MAX\u FILE\u SIZE”value=“2097152”/>
<输入type=“file”name=“上传”/>
<输入type=“submit”name=“submit”value=“submit”/>
&lt/表格>

我上传了一个4MB+的文件,但我没有收到来自客户端的警告(我不是说服务器端)。它应该做什么MAX\u FILE\u SIZE

更新

好的,所以PHP应该施加一个“软”限制。但是使用它和检查$\u文件['upload']['size']<2000在代码中

MAX\u FILE\u SIZE的大小为KB,而不是字节。你是对的,它是以字节为单位的。因此,对于4MB的限制convert 4MB字节{1024*(1024*4)}try:

<输入类型="“隐藏的”;名称=“名称”;最大文件大小;值=”;4194304“/&燃气轮机;

更新1

正如其他人所解释的,你永远不会因此得到警告。它只是在服务器端施加一个软限制

更新2

回答你的子问题。是的,这是有区别的,你从不相信用户的输入。如果您想始终施加限制,则必须始终检查其大小。不要相信MAX\u FILE\u SIZE的功能,因为它可以由用户更改。所以,是的,你应该检查以确保它总是达到或超过你想要的大小

不同之处在于,如果您设置了2MB的MAX_FILE_SIZE,并且用户尝试上载4MB的文件,一旦他们大致达到上载的前2MB,传输将终止,PHP将停止接收该文件的更多数据。它将在文件数组中报告错误

发表评论