无法上传文档和docx文件
问题描述:
在这里我想上传pdf,doc和docx文件。 PDF文件正在上传,但doc和docx文件未上传。我保留enctype="multipart/form-data"
财产form
标记。我的代码有什么问题。无法上传文档和docx文件
if ((($_FILES["uploadjob"]["type"] == "application/pdf")
|| ($_FILES["uploadjob"]["type"] == "application/doc")
|| ($_FILES["uploadjob"]["type"] == "application/docx"))) {
if ($_FILES["uploadjob"]["error"] > 0) {
echo "Return Code: ".$_FILES["uploadjob"]["error"]."<br />";
} else {
move_uploaded_file($_FILES["uploadjob"]["tmp_name"], "jobuploads/".$_FILES["uploadjob"]["name"]);
// echo $_FILES["file"]["tmp_name"];
$filename = $_FILES["uploadjob"]["name"];
}
} else {
echo "<br><br><br><center><font size='3' color='red'>Invalid file. Please upload only pdf, doc or docx files.</font><br><br> This page will be redirected after 5 seconds, Please wait................</center>";
echo "<meta HTTP-EQUIV='REFRESH' content='5; url=jobopening.php'>";
exit;
}
答
检查MIME类型上载的文件,你的代码的其余部分看起来是正确的。您可以使用$_FILES[]["type"]
进行检查。如果Mime类型不同,请将其添加到IF条件中,然后查看它是否有效。
如果仍不起作用,请检查文件大小是否低于PHP.ini
中设置的限制。您可以通过phpinfo()
找到文件大小限制;
你能打印'$ _FILES [“uploadjob”] [“type”]的值吗'也许这些文件的MIME类型不是这一个。我记得例如doc是'application/msword'官方的一个。 – yvan
我已经完成了你的建议。我只上传了doc文件。它给了“application/vnd.openxmlformats-officedocument.wordprocessingml.document”。 – Hearaman
你有你的答案,类型是不正确的在你的条件:) – yvan