1、_FILES-error错误码详情
/**
* 0:文件上传成功
* 1:超过了文件大小,在php.ini文件中设置
* 2:超过了文件的大小MAX_FILE_SIZE选项指定的值
* 3:文件只有部分被上传
* 4:没有文件被上传
* 5:服务器临时文件夹丢失
* 6:该文件被写入到临时文件夹错误
*/
2、注意要点及解决办法
switch(error_code){
case 0:
没得说,上传都成功了!
break;
case 1:
超出php.ini文件的配置,需要改的有这么几项:
file_uploads = On默认为on 允许HTTP文件上传
upload_max_filesize = 2M允许最大上传文件大小,默认为2M
post_max_size=8M允许POST的数据最大字节长度,默认为8M,必须要比upload_max_filesize大一点
memory_limit=128M如果启用了内存限制,上传页面的大小(包括你上传端午文件)要小于memory_limit
max_execution_time=30脚本最大允许执行时间,默认30秒,如果你的文件30秒还上不上去,那就改大点,0表示无限制
改完以后一定要重启Apache什么的
break;
case 2:
这个问题的解决方案是要在form表单中加这么一句:
<input type="hidden" name ="max_file_size" value="53477376"/> <!-- value 的大小就是你最大支持上传文件的大小 要小于(或等于)配置文件中的upload_max_filesize的大小 -->
注意要点:
此语句一定要放在上传控件的下面:如下
<input type="file" name="original_up" id="original_up" accept=".zip,.rar"/> <input type="hidden" name ="max_file_size" value="53477376"/>
当然了,提交是必不可少的:
<input type="submit" id="audit" name="audit" value="提交"/>
break;
case 3:
只上传了一部分,刨除网络原因外,基本上就是配置文件中的这个max_execution_time有点小,设大点就好了
break;
case 4:
无上传文件嘛,没选要上传的文件就提交了。。。这是有多么捉急啊
break;
case 5:
服务器的临时文件夹没配置,在配置文件中找upload_tmp_dir,配置上基本就可以了,一般来说是默认不用配置的,有时候到了英文服务器下是需要配的
break;
case 6:
一般来说都是配置的那个上传的临时文件无读写权限造成的,改改就好了
break;
}
解决完这些,基本都能上传成功了,注意上传路径的读写权限。假如还不成功,在这个看脸的时代,替你默哀了!