Laravelで複数の画像をアップロードする方法


  1. フォームの作成: まず、画像をアップロードするためのフォームを作成します。以下は、HTMLのフォームの例です。
<form action="/upload" method="POST" enctype="multipart/form-data">
    @csrf
    <input type="file" name="images[]" multiple>
    <button type="submit">アップロード</button>
</form>
  1. コントローラーの作成: 次に、画像を処理するためのコントローラーを作成します。以下は、画像を保存する例です。
public function upload(Request $request)
{
    $images = $request->file('images');

    foreach ($images as $image) {
        $path = $image->store('public/images');
        // 他の処理を行う場合はここで行います
    }

    return redirect()->back()->with('success', '画像がアップロードされました');
}
  1. ルートの設定: 最後に、ルートを設定して、フォームのアクションをコントローラーのメソッドに関連付けます。以下は、ルートの例です。
Route::post('/upload', 'ImageController@upload');

これで、Laravelで複数の画像をアップロードする準備が整いました。フォームを送信すると、選択した画像がサーバーに保存されます。

注意点:

  • アップロードする画像のバリデーションやエラーハンドリングは、適切に実装する必要があります。
  • 画像の保存パスやファイル名をカスタマイズする場合は、適宜変更してください。

以上が、Laravelで複数の画像をアップロードする方法の基本的な手順です。必要に応じて、追加の機能や処理を実装することもできます。