首页 > 解决方案 > move_uploaded_file 返回 true 但不执行 if 语句

问题描述

我正在使用 PHPMailer 发送带有附件的邮件。我首先将文件保存在服务器上,为此,我使用的是 PHPmove_uploaded_file函数。

问题是当我调试我的代码时,move_uploaded_file函数返回 true 但它不执行if条件内的任何语句并跳转到 else 条件内。

如果条件为真,我不理解这种行为,那么if statement应该执行。请让我知道问题所在。

这是我的代码

        $targetfolder = "docs/cv/";
        $new_file_name = md5($_FILES['cv']['tmp_name']);

        //$targetfolder = $targetfolder . basename($_FILES['cv']['tmp_name']);
        $targetfolder = $targetfolder . $new_file_name . '.png';
        $ext = pathinfo($_FILES['cv']['name'], PATHINFO_EXTENSION);

        //if (move_uploaded_file($_FILES['cv']['tmp_name'], $targetfolder))
        if (move_uploaded_file($_FILES['cv']['tmp_name'], $targetfolder))
        {
           echo "Uploaded";
        }
        else {
           echo "Not Uploaded";
        }

标签: php

解决方案


尝试这个:

    $targetfolder = "docs/cv/";
    $new_file_name = md5($_FILES['cv']['tmp_name']);

    //$targetfolder = $targetfolder . basename($_FILES['cv']['tmp_name']);
    $targetfolder = $targetfolder . $new_file_name . '.png';
    $ext = pathinfo($_FILES['cv']['name'], PATHINFO_EXTENSION);

    //if (move_uploaded_file($_FILES['cv']['tmp_name'], $targetfolder))
    if (move_uploaded_file($_FILES['cv']['tmp_name'], $targetfolder) === true)
    {
       echo "Uploaded";
    }
    else {
       echo "Not Uploaded";
    }

推荐阅读