关于文件上传
<?php
// 文件上传代码优化 七步骤
//接收$_FILES数组
$key='zhou';
$mimeWhiteList=['image/jpeg','image/jpg','image/png'];
$extWhiteList=['jpeg','jpg','png'];
$name=$_FILES[$key]['name'];//源文件名称
$type=$_FILES[$key]['type'];//MIME类型
$tmp_name=$_FILES[$key]['tmp_name'];//临时文件名称
$error=$_FILES[$key]['error'];//错误信息
$size=$_FILES[$key]['size'];//文件大小 字节
//0-文件上传成功
//处理错误
if($error>0){
switch ($error) {
//1-文件大小超出php.ini当中的upload_max_filesize的大小
case 1:
exit('文件大小超出php.ini当中的upload_max_filesize的大小');
//2-超出表单当中的MAX_FILE_SIZE的大小
case 2:
exit('超出表单当中的MAX_FILE_SIZE的大小');
//3-部分文件被上传
case 3:
exit('部分文件被上传');
//4-没有文件被上传
case 4:
exit('没有文件被上传');
//6-临时目录不存在
case 6:
exit('临时目录不存在');
//7-磁盘写入失败
case 7:
exit('磁盘写入失败');
//8-文件上传被PHP扩展阻止
case 8:
exit('文件上传被PHP扩展阻止');
default:
exit('未知错误');
}
}
// echo '上传成功';
//限制文件的MIME文件类型(jpg jpeg等)
if(!in_array($type,$mimeWhiteList)){
exit('文件类型'.$type.'不被允许上传!');
}
//限制文件的扩展名
$ext=pathinfo($name,PATHINFO_EXTENSION);
if(!in_array($ext,$extWhiteList)){
exit('文件扩展名'.$ext.'不被允许上传!');
}上传codes.rar出现这种情况:文件类型application/octet-stream不被允许上传! 为什么会出现这种类型不应该是codes.rar吗?
2
收起
正在回答
1回答
您好,RAR文件的扩展名是.rar,MIME类型是application/octet-stream。所以会提示:“文件类型application/octet-stream不被允许上传!”。祝学习愉快!
PHP常用技术与ThinkPHP5框架开发
- 参与学习 人
- 提交作业 225 份
- 解答问题 3372 个
掌握用PHP开发互联网网站的必备功能,掌握当下主流的Linux系统开发,并熟练使用热门框架ThinkPhp开发电商团购项目,是通向PHP工程师必经之路。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星