或获取上传文件的文件扩展名时的条件。

时间:2015-10-24 17:44:56

标签: php

下面是代码,我不知道我在这里做错了什么。因为看起来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。

任何人都可以告诉我,我做错了什么?可能有一些我现在无法找到的愚蠢错误。

1 个答案:

答案 0 :(得分:1)

您的逻辑无效:

docx不是doc因此您的第一个条件$ext != 'doc' 为真

必须是:

if($ext != 'doc' && $ext != 'docx' && $ext != 'pdf'){
    // warn user