文件无法在laravel中上传

时间:2016-04-24 23:57:17

标签: php laravel-5.2

这是我的路线文件

Route::resource('item', 'ItemController');

Route::get('welcome', function() {
    return view('welcome');
});
Route::auth();

Route::get('/home', 'HomeController@index');
Route::get('/item', 'ItemController@store');

//Route
Route::post('/item', ['as' => 'item.store', 'uses' => 'ItemController@store']);

这是我的商店控制器

public function store(Requests\CreateItem $request)
{
    Item::create($request->all());
    $file = $request->file('filename');
    if (Input::hasFile('filename')) {
        echo 'Uploaded';
        $file = Input::file('filename');
        $file->move('uploads', $file->getClientOriginalName());
    }
}

我的上传表单不会返回任何错误,但此代码段不会将我的上传内容移动到指定的文件夹。我究竟做错了什么?我正在使用Laravel 5.2。

编辑:这是我的表格

   {!! Form::open(['url' =>'route' => 'item.store', 'files' => true]) !!}
    {!! Form::label('name', "Name") !!}
    {!! Form::text('name', null, ['class' => 'form-control']) !!}

   {!! Form::label('filename', "File Name") !!}
    {!! Form::file('filename', null, ['class' => 'form-control']) !!}

    {!! Form::label('description', 'Description') !!}
    {!! Form::textarea('description', null, ['class' => 'form-control']) !!}
    {!! Form::submit('Add Item', ['class' => 'btn btn-primary form-control']) !!}

编辑2:现在我在访问表单时遇到以下错误

  

41b177cdb949fd0263185e364012b35dff81db06.php第7行中的FatalErrorException:语法错误,意外'=>' (T_DOUBLE_ARROW),期待']'

编辑2现在,每当我尝试访问添加项目表单时,我都会收到此错误:

  

41b177cdb949fd0263185e364012b35dff81db06.php第7行中的FatalErrorException:语法错误,意外'=>' (T_DOUBLE_ARROW),期待']'

4 个答案:

答案 0 :(得分:0)

<form>上有enctype="multipart/form-data"吗?它需要这个来正确发送文件。只要<form>中包含<input type="file">个元素,但它没有该属性,这实际上就是一个错误。

这是一个非常常见的错误,一直让人们接受。

答案 1 :(得分:0)

你忘了昏迷和钥匙

{!! Form::open(['url' =>'route' **, 'key'** => 'item.store', 'files' => true]) !!}

你应该使用网址或路由,但不能同时使用。

{!! Form::open(['route' => 'item.store', 'files' => true]) !!}

答案 2 :(得分:0)

如果一切正常,那么您需要检查您的文件。使用较小尺寸的其他文件测试上传。

对我来说,当我调整图像大小时它就解决了。

答案 3 :(得分:0)

另一个原因是PHP最大上传大小。 增加价值再试一次。