0

Laravel phpフレームワークを使用していて、2つのアップロードフィールドを持つフォームがあります。フィールドは正常に機能し、問題はありません。.phpコードは次のとおりです。

PS。中かっこに慣れていない人のために、それは基本的に<?php echo .... ?>ブレードテンプレートエンジンだけです。

コード

{{  Form::label('upload_files', 'Lataa bändin LAVAKARTTA, esim .jpg (tiedosto      pakollinen)'); }}
{{  Form::file('upload_files', '', array('class' => 'form-field', 'form-text')); }}

{{  Form::label('upload_files_raider', 'Lataa bändin tekninen RAIDERI esim .txt (tiedosto pakollinen)'); }}
{{  Form::file('upload_files_raider', '', array('class' => 'form-field', 'form-text')); }}

フォームが送信された後、コンテンツ(ファイル)をアップロードディレクトリに渡します。

私のコントローラーには次のコードがあります:

$a = $formsubmit['esiintyva_artisti'];

// if no file dont upload
// $a is used to give the filename a ending that correspons to a user

if($_FILES['image']['error'] == 0){
//if(!isset($_FILES)){
    Input::upload('upload_files', 'public/uploads', $a . '-artistin-tai-bandin-lavakartta.jpg');
};

if($_FILES['image']['error'] == 0){
//if(!isset($_FILES)){
    Input::upload('upload_files_raider', 'public/uploads', $a . '-artistin-tai-bandin-raideri.txt');
};

ここに問題があります:

アップロードされたファイルなしでフォームを送信すると、エラーが発生します。

Fatal error: Call to a member function move() on a non-object in /var/www/...../laravel/input.php on line 230

事前にコミュニティに感謝します!

4

2 に答える 2

1

フォームでupload_filesupload_files_raiderを使用しているため、設定されていないときに$_FILES['image']配列をチェックしたことが原因である可能性があります。Input :: file('upload_files')を使用してアップロードファイルを確認してみてください。

if( !is_null(Input::file('upload_files')) ) {
    Input::upload('upload_files', 'public/uploads', $a . '-artistin-tai-bandin-lavakartta.jpg');
}

if( !is_null(Input::file('upload_files_raider')) ) {
   Input::upload('upload_files_raider', 'public/uploads', $a . '-artistin-tai-bandin-raideri.txt');
}
于 2012-08-08T13:20:01.503 に答える
0

if ステートメントを次のように NULL をチェックするだけで、問題は簡単に解決されました。

        if ($file_upload == NULL) 
    {
        return View::make('site.form')->with('message', 'Choose the file to be uploaded!');
    }
    else 
    {
        Input::upload('file_upload', 'public/uploads', $date.' '.$upload_file_name);
    }
于 2012-08-13T12:33:28.860 に答える