1:有文件要上传时,form标签 一定要加上 enctype="multipart/form-data" 属性 ,这是对数据类型的转换,如果不加上,文件就上传不了。
2:上传的方式一定是 POST;
3:此外还需要一个隐藏域来限制上传文件的最大长度:<input type="hidden" name="MAX_FILE_SIZE" value="2000000">,这里name必须设置成MAX_FILE_SIZE,其值就是上传文件的最大长度,单位是B,这里我限制成2M。
4: 设置PHP的配置文件:
upload_max_filesize:限制PHP上传文件大小的最大值,此值必须小于post_max_size的值。
post_max_size:限制通过POST方法可接受信息的最大值,也就是整个POST请求的提交值。此值必须大于upload_max_filesize的值。
为什么post_max_size的值必须要大于upload_max_filesize的值呢? 简单的说就是upload_max_filesize是上传文件的值,而 post_max_size 是整个POST请求提交过去的数据所有的大小,包括上传的文件,所以 post_max_size 的值必须要大于upload_max_filesize的值。