我有这个片段
if ($_FILES['tax']['error'] !== UPLOAD_ERR_OK) {
die("Upload failed with error " . $_FILES['tax']['error']);
}
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime = finfo_file($finfo, $_FILES['tax']['tmp_name']);
$ok = false;
switch ($mime) {
case 'image/gif':
case 'application/pdf':
case 'image/png':
$ok = true;
default:
die("Unknown/not permitted file type");
}
move_uploaded_file($_FILES["tax"]["tmp_name"],"pints/" . $_FILES["tax"]["name"]);
当我尝试上传图像时,它指出它不是允许的文件类型,当文件是 PDF 文档时,application/pdf
是正确的 MIME 类型吗?
您忘记在默认大小写之前中断:)
顺便说一句,为了回答您的直接问题,我发现自己一遍又一遍地回顾这个线程: PDF 文件的正确 MIME 媒体类型
试试这个
if ($_FILES['tax']['error'] !== UPLOAD_ERR_OK)
die("Upload failed with error " . $_FILES['tax']['error']);
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime = finfo_file($finfo, $_FILES['tax']['tmp_name']);
$ok = false;
switch ($mime) {
case 'image/gif':
break;
case 'application/pdf':
break;
case 'image/png':
$ok = true;
break;
default:
die("Unknown/not permitted file type");
break;
}
move_uploaded_file($_FILES["tax"]["tmp_name"],"pints/" . $_FILES["tax"]["name"]);
如果不能解决您的问题,请告诉我们finfo_open
和finfo_file
功能是什么样的。