如何使用php脚本上传.doc和.docx? 我的脚本在pdf和txt上运行良好,但对于doc和docx,它无法上传。 我需要仅上传pdf doc docx和txt的脚本。
下面是我的代码
session_start();
$targetfolder = "testupload/";
$targetfolder = $targetfolder . basename( $_FILES['file']['name']) ;
$ok=1;
$file_type=$_FILES['file']['type'];
if ($file_type=="application/pdf" || $file_type=="application/msword" || $file_type=="text/plain") {
if(move_uploaded_file($_FILES['file']['tmp_name'], $targetfolder))
{
$_SESSION['message'] ="The file ". basename( $_FILES["file"]["name"]). " uploaded successfully.";
header("location:lecsubmit?done") ;
}
else {
$_SESSION['message']= "Sorry, your file was not uploaded.";
header("location:lecsubmit?error") ;
}
}
else {
$_SESSION['message']= "You may only upload PDFs, DOCXs, DOCs or TXT files..";
header("location:lecsubmit?error") ;
}
答案 0 :(得分:1)
您检查if
哑剧类型的语句将不接受docx文件。
See here以获得MS Office文件的MIME类型列表。根据您的情况,您还需要允许application/vnd.openxmlformats-officedocument.wordprocessingml.document
。
我可以建议一个较小的重构:
$allowedMimes = [
'application/pdf',
'application/msword',
'text/plain',
'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
];
if (in_array($_FILES['file']['type'], $allowedMimes)) {
// .. continue to upload
} else {
// show supported file types message
}