在Laravel中上传文件

时间:2014-03-30 19:30:33

标签: php upload laravel

Helllo,你好

我正在尝试在Laravel上传文件。但是,当我在控制器时,无论尝试联系对象的任何方法都抱怨它不是这样的对象而且它无法获得其属性。

我有三个字段,类别,标题和内容,然后是文件本身。我在这里搜索过,有一些复杂的代码用于上传多个文件,然后是类似于我的,但没有经过批准的答案。

我也不明白这个过程是怎样的,我只是想象它。我的意思是,一种方法实际上可以将文件放在服务器的文件夹中,但我还需要将其路径存储在数据库的表中。我不知道实际发生了这种情况,我阅读了Laravel文档中的文档,这低于我的内容。

$category = Input::get('category');
$title = Input::get('title');
$content = Input::get('content');
$thefile = Input::file('fichero');
$filename = Input::file($thefile)->getClientOriginalName();
$destinationPath = "etc etc://../laravel/cosas";
Input::file('fichero')->move($destinationPath, $fileName);
$path = Input::file('fichero')->getRealPath();

然后这就是我应该发送给模型的东西,(只是凭直觉,从未做过)

(new document)->insertDocs($category, $title, $content, $path);

有谁知道这是怎么做的?

非常感谢

1 个答案:

答案 0 :(得分:0)

在您的控制器中:

public function store()
{
    // Upload file
    $file = Input::file('fichero');
    $destinationPath = 'uploads/folder';
    $file->move($destinationPath);

    // Create model
    $model = new Model;
    $model->category = Input::get('category');
    $model->title = Input::get('title');
    $model->content = Input::get('content');
    $model->filename = $file->getClientOriginalName();
    $model->destinationPath = $destinationPath;

    // Save model
    $model->save();
}