관리-도구
편집 파일: ImageController.php
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Log; use App\Models\Image; use Illuminate\Support\Facades\Storage; class ImageController extends Controller { public function index() { $image = Image::orderBy('created_at', 'desc')->get(); return view('admin.image', compact('image')); } public function store(Request $request) { try { $validateData = $request->validate([ 'image' => 'required|image|mimes:jpeg,webp,png,jpg,gif,svg', ]); if (!$request->hasFile('image')) { return redirect()->back()->withErrors(['image' => 'No file uploaded']); } $imagePath = $request->file('image')->store('services', 'public'); // create a new service instance and assign validate data $image = new Image(); $image->image = $imagePath; $image->save(); return redirect()->route('admin-image.index')->with('success', 'New image added'); } catch (\Exception $e) { Log::error("Add image error: " . $e->getMessage()); return redirect()->back()->withErrors(['error' => 'An error occurred']); } } public function update(Request $request, $id) { try { $image = Image::findOrFail($id); // Validate data $validateData = $request->validate([ 'image' => 'nullable|image|mimes:jpeg,webp,png,jpg,gif,svg', ]); if ($request->hasFile('image')) { $imagePath = $request->file('image')->store('uploads/services', 'public'); // Delete the old image if it exists if ($image->image) { Storage::disk('public')->delete($image->image); } $image->image = $imagePath; } $image->save(); return redirect()->route('admin-image.index')->with('message', 'Image updated successfully'); } catch (\Exception $e) { Log::error('An error occurred while updating:', [ 'error message' => $e->getMessage(), ]); return redirect()->back()->with('error', 'An error occurred'); } } public function destroy($id) { $image = Image::findOrFail($id); $image->delete(); return redirect()->route('admin-image.index')->with('Image deleted successfully'); } }