Storageファサードのlocaldisk or AWS S3の切り替え

       /**
         * ローカルディスク
         * [引用] https://readouble.com/laravel/6.x/ja/filesystem.html
         * 
         * localドライバを使う場合、
         * filesystems設定ファイルで指定したrootディレクトリからの相対位置で
         * 全ファイル操作が行われることに注意してください。
         * デフォルトでこの値はstorage/appディレクトリに設定されています。
         * そのため次のメソッドでファイルはstorage/app/file.txtとして保存されます。
         * 
         * Storage::disk('local')->put('file.txt', 'Contents');
         */
        Storage::disk('local')
            ->putFileAs('photo_' . Auth::user()->name, $request->photo, $photo->filename, 'public');

        // データベースエラー時にファイル削除を行うため
        // トランザクションを利用する
        DB::beginTransaction();

        try {
            Auth::user()->photos()->save($photo);
            DB::commit();
        } catch (\Exception $exception) {
            DB::rollBack();
            // DBとの不整合を避けるためアップロードしたファイルを削除
            // Storage::cloud()->delete($photo->filename);
            // Storage::disk('local')->delete($photo->filename);
            Storage::disk('local')->delete('photo_' . Auth::user()->name . $photo->filename);

            throw $exception;
        }