Move_uploaded_file返回错误代码0,但文件没有上传到我的目录


move_uploaded_file returns error code 0 but file not uploaded in my directory?

我正在使用codeigniter 3.0.6的项目上工作,我需要在一些模块中上传图像。问题是move_uploaded_file返回错误代码0,但文件无处可寻。我目前在我的本地主机上运行此代码。如果它返回一个错误代码,那么我可以做一些事情…有人能帮我一下吗?

我读过Move_uploaded_file()函数也不工作,我下面的代码是基于一个所谓的"工作示例"的答案。但仍然不工作(错误代码0,但在目录中找不到文件)。mkdir($uploaddir, 0777, true);部分似乎没有帮助。

这是我的视图文件(display.php):
<html>
    <head>
        <meta charset="utf-8">
    </head>
    <body>
        <form enctype="multipart/form-data" action="submit" method="POST">
            <input type="hidden" name="MAX_FILE_SIZE" value="51200000" />
            Send this file: <input name="userfile" type="file" />
            <input type="submit" value="Send File" />
        </form>     
    </body>
</html>

这是我的控制器文件(test.php):

function display()
{
    $this->load->view('display');
}
function submit() {
    $uploaddir = '/assets/img/guide/';
    $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
    if (!file_exists($uploaddir)) {
        mkdir($uploaddir, 0777, true);
    } 
    echo "<p>";
    if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
        echo "File is valid, and was successfully uploaded.'n";
    } else {
        echo "Upload failed";
    }
    echo "</p>";
    echo '<pre>';
    echo 'Error code:';
    print_r($_FILES['userfile']['error']);
    print "</pre>";     
    echo '<pre>';
    echo 'Here is some more debugging info:';
    print_r($_FILES);
    print "</pre>";     
    echo $this->load->view('display', $this->data);
}

,这是我提交表单后的结果:

文件有效,上传成功。

错误代码:0

这里是一些更多的调试信息:[userfile] => Array([name] =>绣球花。jpg[type] => image/jpeg[tmp_name] => C:'xampp'tmp'php46FD.tmp[error] => 0[size] => 595284)

)

事实证明文件是上传的,但不是去我的项目的基本文件夹(D:/myproject/dev/),文件被上传到硬盘文件夹(D:/),所以我猜这个谜团已经解决了。我只需要弄清楚如何直接上传的目标文件夹。也许我会把它放在另一个问题贴子里。

谢谢大家