speciality_id = $request->speciality_id; $data->name = $request->name; $data->visit_price = $request->visit_price; $data->address = $request->address; $destinationPath = public_path('images/doctors/'); if (!file_exists($destinationPath)) { mkdir($destinationPath, 0777, true); } // ---- IMAGE ---- if ($request->hasFile('image')) { $image = $request->file('image'); $extension = strtolower($image->getClientOriginalExtension()); if ($extension === 'svg') { $imageName = 'image' . time() . '.svg'; $image->move($destinationPath, $imageName); } else { $imageName = 'image' . time() . '.webp'; Image::make($image->getRealPath())->encode('webp', 90)->save($destinationPath . $imageName); } $data->image = $imageName; } $data->save(); return redirect()->back()->with('success', 'Added Successfully Done.'); } public function update(Request $request, $id){ $data = Doctor::findOrFail($id); $data->speciality_id = $request->speciality_id; $data->name = $request->name; $data->visit_price = $request->visit_price; $data->address = $request->address; $destinationPath = public_path('images/doctors/'); if (!file_exists($destinationPath)) { mkdir($destinationPath, 0777, true); } // ---- IMAGE ---- if ($request->hasFile('image')) { $image = $request->file('image'); $extension = strtolower($image->getClientOriginalExtension()); if (!empty($data->image) && file_exists($destinationPath . $data->image)) { unlink($destinationPath . $data->image); } if ($extension === 'svg') { $imageName = 'image' . time() . '.svg'; $image->move($destinationPath, $imageName); } else { $imageName = 'image' . time() . '.webp'; Image::make($image->getRealPath())->encode('webp', 90)->save($destinationPath . $imageName); } $data->image = $imageName; } $data->save(); return redirect()->back()->with('success', 'Updated Successfully Done.'); } public function destroy(Request $request, $id){ $data = Doctor::findOrFail($id); $destination = 'images/doctors/'.$data->image; if(File::exists($destination)){ File::delete($destination); } $data->delete(); return redirect()->back()->with('error','Deleted Successfully Done.'); } }