abstract:function upload_file($fileInfo,$uploadpath='./upload',$allowExt=['png','jpg'],$maxsize=1000000){ if($fileInfo['error']===0){ //获取上传的文件后缀,判断文件
function upload_file($fileInfo,$uploadpath='./upload',$allowExt=['png','jpg'],$maxsize=1000000){
if($fileInfo['error']===0){
//获取上传的文件后缀,判断文件类型
$ext=strtolower(pathinfo($fileInfo['name'],PATHINFO_EXTENSION));
if(!in_array($ext, $allowExt)){
return '非法文件类型!';
}
//判断文件大小
if($fileInfo['size']>$maxsize){
return '超出文件上传的最大值!';
}
//判断文件是否值用过http中以post方式传递的
if(!is_uploaded_file($fileInfo['tmp_name'])){
return '非法上传!';
}
//将文件移到指定的目录下,先要判断是否有这个目录
if(!is_dir($uploadpath)){
mkdir($uploadpath,0777,true);
}
//文件名转换,避免有相同文件名来造成冲突
$uniName=md5(uniqid(mktime(true),true));//uniqid()生成唯一id,mktime()获取当前时间的微秒数
$dest=$uploadpath.'/'.$uniName.'.'.$ext;//拼接文件路径
if(!move_uploaded_file($fileInfo['tmp_name'], $dest)){//move_uploaded_file移动文件,参数:文件名,文件要移到的路径
return '文件上传失败!';
}
return '文件上传成功!';
}else{
switch($fileInfo['error']){
case 1:
$res='上传文件超过了php.ini中upload_max_filesize选项限制的值';
break;
case 2:
$res='上传文件的大小超过了html表单中MAX_FILE_SIZE选项指定的值';
break;
case 3:
$res='文件只有部分被上传';
break;
case 4:
$res='没有文件被上传';
break;
case 6:
case 7:
$res='系统错误';
break;
}
}
}
Correcting teacher:西门大官人Correction time:2019-03-03 16:35:07
Teacher's summary:$allowExt这个变量在哪里定义的?代码中貌似没有啊