我想知道名为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”/>;
</表格>;
我上传了一个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将停止接收该文件的更多数据。它将在文件数组中报告错误