move_uploaded_file()不会移动文件

时间:2015-07-19 00:42:01

标签: php file oop model-view-controller file-upload

我有一个名为输入class。在此class中,function名为 iData 。这个function用于获取文件上传数据,这是函数。

public static function iData($item, $spec = '')
{
    if (isset($_FILES[$item])) {
        if ($spec == '') {
            return $_FILES[$item];
        }else{
            $f = $_FILES[$item];
            if($f[$spec]) {
                return $f[$spec];
            }
        }
    }
    return false;
}

但在我的controller中(顺便说一下,我使用的是MVC设计模式),当我告诉它移动文件时,它并没有。这是我的controller代码。

if (!empty(Input::iData('file', 'name'))) {
    if (is_dir('assets/')) {
        if (move_uploaded_file(Input::iData('file', 'name'), 'assets/')) {
            echo "File was moved!";
        } else {
            echo "File failed to move!";
        }
    }
} else {
    echo "Please include a file to upload!";
}

我的页面echo s,"文件无法移动!"。因此,如果目录存在且我知道输入 class iData 函数返回名称,那么会出现什么问题?

1 个答案:

答案 0 :(得分:1)

一切都是固定的。非常感谢Hobo Sapiens

我应该使用tmp_name代替name。而且,我从move_uploaded_file的第二个参数中删除了所需的文件名。