下面是代码,我不知道我在这里做错了什么。因为看起来OR条件没有正确执行。
$file = rand(1000,100000)."-".$_FILES['file']['name'];
$file_loc = $_FILES['file']['tmp_name'];
$file_size = $_FILES['file']['size'];
$file_type = $_FILES['file']['type'];
$folder="uploads/";
$ext = pathinfo($file, PATHINFO_EXTENSION);
if($ext != 'doc' or $ext != 'docx' or $ext != 'pdf'){
$errmsg_arr1[] = 'Your file must be word or pdf document.';
$errmsg_arr1[] = $ext;
$errflag = true;
}
当我上传文件(doc,docx或pdf)时,它仍然显示消息"您的文件必须是word或pdf文档。"
我检查了ext中的值,它显示了docx。
任何人都可以告诉我,我做错了什么?可能有一些我现在无法找到的愚蠢错误。
答案 0 :(得分:1)
您的逻辑无效:
docx
不是doc
因此您的第一个条件$ext != 'doc'
为真。
必须是:
if($ext != 'doc' && $ext != 'docx' && $ext != 'pdf'){
// warn user