2015-10-15 118 views
1
$video_file = Input::file('video_file'); 
    $original_name = $video_file[0]->getClientOriginalName(); 

不知道爲什麼,但第二行給了我一個錯誤。調用成員函數getClientOriginalName()在非對象上

這是我的形式:

<li> 
     {{Form::label('video_title', 'Title')}} 
     {{Form::text('video_title')}} 


    </li> 
    <li> 
     {{Form::label('video_body', 'Body')}} 
     {{Form::textarea('video_body')}} 


    </li> 
    <li> 
     {{Form::label('video_file', 'Choose a video')}} 
     {{Form::file('video_file')}} 

    </li> 
    <li> 
     {{Form::submit('Submit', array('class'=>'primary-btn'))}} 
     {{Form::close()}} 
    </li> 

我的形式似乎是工作的罰款這顯然是有事情做與方法getClientOriginalName()時被調用的對象。我嘗試沒有[0],但我得到同樣的事情。

POST Data 
_token F3TJRaqVy9kRDbFyLqrue0mfpNvUzQjRr0Um6GjW 
video_title  gfffffffffff 
video_body gfgfgfgfgfgfgfgfgfgfgfgfgfgfgfgfgfgfgfgfgfgf 
video_file 01 - Introduction.mp4 

我在我的PHP.ini文件中將我的上傳大小和文章大小設置爲400M,我認爲它應該可以工作。我需要上傳一個包嗎?我認爲這個方法是原生的香草PHP。

+0

嘗試'dd($ video_file)'查看變量中是什麼,以及文件是否正在到達服務器。也可以嘗試執行'$ files = Input :: file();'並查看是否有任何文件被提交。 –

+0

感謝您的迴應,輸出會顯示在控制檯還是錯誤頁面上? – jarvan

+0

等一下,我變得空了。這是爲什麼?它說POST數據中的video_file 01 - Introduction.mp4。 – jarvan

回答

1

{{Form::file('video_file')}}未聲明爲數組(例如:{{Form::file('video_file[]')}}),因此您必須將其作爲$video_file->getClientOriginalName();而不使用[0]

UPDATE

確保您files集打開你的表單trueForm::open([...'files' => true ])

+0

得到同樣的結果:調用一個非對象的成員函數getClientOriginalName() – jarvan

+0

您是否已經將'files'選項設置爲'true'來打開表單? 'Form :: open([...'files'=> true])' –

+0

這就是問題所在。 – jarvan