Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
app
/
Http
/
Controllers
:
CategoryController.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\Category; use Illuminate\Support\Facades\Storage; class CategoryController extends Controller { public function index() { $categories = Category::all(); return view('categories.index', compact('categories')); } // عرض نموذج إضافة فئة جديدة public function create() { return view('categories.create'); } // تخزين فئة جديدة public function store(Request $request) { // التحقق من صحة البيانات $validated = $request->validate([ 'category_name' => 'required|string|max:255', 'img' => 'nullable|image|mimes:jpeg,png,jpg,gif,webp', // صورة اختيارية ]); if ($request->hasFile('img')) { // تحديد المسار الذي سيتم حفظ الصورة فيه $path = public_path('images/categories'); // مجلد categories داخل public // إنشاء اسم ملف جديد للصورة $filename = time() . '_' . $request->file('img')->getClientOriginalName(); // نقل الصورة إلى المسار المحدد $request->file('img')->move($path, $filename); // تخزين الاسم النهائي للصورة في الحقل img $validated['img'] = 'images/categories/' . $filename; // مسار النسبي بالنسبة إلى public } // إنشاء الفئة الجديدة باستخدام create Category::create($validated); return redirect()->route('categories.index')->with('success', 'تم إضافة الفئة بنجاح!'); } // عرض تفاصيل فئة معينة public function show(Category $category) { return view('categories.show', compact('category')); } // عرض نموذج تعديل فئة public function edit(Category $category) { return view('categories.edit', compact('category')); } // تحديث فئة public function update(Request $request, Category $category) { // التحقق من صحة البيانات $validated = $request->validate([ 'category_name' => 'required|string|max:255', 'img' => 'nullable|image|mimes:jpeg,png,jpg,gif,webp', // صورة اختيارية ]); if ($request->hasFile('img')) { // إذا كانت هناك صورة قديمة، قم بحذفها يدويًا if ($category->img) { $oldImagePath = public_path($category->img); // الحصول على المسار الكامل للصورة القديمة if (file_exists($oldImagePath)) { // التحقق مما إذا كانت الصورة موجودة unlink($oldImagePath); // حذف الصورة القديمة } } // تحديد المسار الذي سيتم حفظ الصورة فيه $path = public_path('images/categories'); // مجلد categories داخل public // إنشاء اسم ملف جديد للصورة $filename = time() . '_' . $request->file('img')->getClientOriginalName(); // نقل الصورة إلى المسار المحدد $request->file('img')->move($path, $filename); // تحديث الحقل img في الفئة $validated['img'] = 'images/categories/' . $filename; // مسار النسبي بالنسبة إلى public } // تحديث السجل الحالي باستخدام update $category->update($validated); return redirect()->route('categories.index')->with('success', 'تم تحديث الفئة بنجاح!'); } // حذف فئة public function destroy(Category $category) { // تحديد المسار الذي تم حفظ الصور فيه $path = public_path('images/categories'); // مجلد categories داخل public // حذف الصورة القديمة (img) إن وجدت if ($category->img && file_exists(public_path($category->img))) { unlink(public_path($category->img)); // حذف الصورة من النظام } // حذف الفئة من قاعدة البيانات $category->delete(); return redirect()->route('categories.index')->with('success', 'تم حذف الفئة بنجاح!'); } }