我有一个名为输入的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 函数返回名称,那么会出现什么问题?
答案 0 :(得分:1)
一切都是固定的。非常感谢Hobo Sapiens
我应该使用tmp_name
代替name
。而且,我从move_uploaded_file
的第二个参数中删除了所需的文件名。