关于文件上传

关于文件上传

<?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吗?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

您好,RAR文件的扩展名是.rar,MIME类型是application/octet-stream。所以会提示:“文件类型application/octet-stream不被允许上传!”。祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师