当上传文件大小比php.ini 中 upload_max_filesize 选项限制的值还大时,程序是不是就不往下运行了?我在php.ini 中设置的 upload_max_filesize 的值为2M,然后我上传的文件大小也不能大于2M,提交表单后,在后台判断文件大小,如果大于2M就提示错误,否则不提示。但是我在上传文件时直接上传了个3M的文件,然后程序没反应了,请问,当上传文件大小比php.ini 中 upload_max_filesize 的值还大时,程序有什么反应?应该如何获取到这个错误并提示用户?
另外注意,也不能超过 post_max_size 的大小。一般上 upload_max_filesize<= post_max_size
在后台$_FILE['name']['size']与upload_max_filesize怎么比较呢?就这样if($_FILES['file']['size'] > upload_max_filesize){...}是不对的吧?
我知道了,ini_get('upload_max_filesize')
如果上传文件大小大于upload_max_filesize,那么$_FILES['file']['error'] = 1;
如果上传文件大小大于post_max_size,那么$_FILES['file']['error'] = 2;
如果文件只有部分被上传,那么$_FILES['file']['error'] = 3;
如果没有文件被上传,那么$_FILES['file']['error'] = 4;
如果文件全部上传成功,那么$_FILES['file']['error'] = 0.