Laravelでパブリックフォルダに画像をアップロードする方法


  1. フォームの作成 まず、画像をアップロードするためのフォームを作成します。HTMLの<form>要素を使用し、enctype="multipart/form-data"属性を追加して、フォームがファイルを送信できるようにします。
<form method="POST" action="/upload" enctype="multipart/form-data">
    @csrf
    <input type="file" name="image">
    <button type="submit">アップロード</button>
</form>
  1. コントローラの作成 アップロードされた画像を処理するためのコントローラを作成します。php artisan make:controller UploadControllerコマンドを使用して、UploadControllerを生成します。
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class UploadController extends Controller
{
    public function upload(Request $request)
    {
        if ($request->hasFile('image')) {
            $image = $request->file('image');
            $imageName = time() . '.' . $image->getClientOriginalExtension();
            $image->move(public_path('images'), $imageName);
            // 保存されたファイル名などの処理を行う
            return '画像がアップロードされました。';
        }
        return '画像が選択されていません。';
    }
}
  1. ルートの設定 routes/web.phpファイルで、アップロードフォームのルートを設定します。
use App\Http\Controllers\UploadController;
Route::post('/upload', [UploadController::class, 'upload']);
  1. 画像の保存先 上記の例では、アップロードされた画像はpublic/imagesディレクトリに保存されます。必要に応じて保存先を変更してください。

これで、Laravelでパブリックフォルダに画像をアップロードすることができます。フォームとコントローラの設定を適切に行い、アップロードされた画像を適切な場所に保存することができます。