Abdelrahman Mostafa10 نشر 2 ديسمبر 2023 أرسل تقرير نشر 2 ديسمبر 2023 لدي المتحكم التالي: public function store(Request $request) { Copy $input = $request->validate([ 'pages_category_id' => 'required', 'name' => 'required', 'content' => 'required', 'thumbnail' => 'required|image', ]); if ($image = $request->file('image')) { $destinationPath = 'image/'; $imageName = date('Ymd') . "." . $image->getClientOriginalExtension(); $image->move(public_path('uploads/pages' . $pages->id.'/'), $imageName); $input['image'] = $imageName; } $input['content'] = (strip_tags($request->content)); $input = $request->all(); Pages::create($input); return redirect('pages/list')->with('success', 'Success Add Page'); } اقتباس
1 Khaled Osama3 نشر 3 ديسمبر 2023 أرسل تقرير نشر 3 ديسمبر 2023 يبدو أن هناك بعض الأخطاء في الكود، ولكن دعني أوضح لك كيفية حفظ الصورة في مجلد عام. يبدو أنك تستخدم Laravel، وهذا ممتاز. لكن، يجب عليك تصحيح الأخطاء التي تظهر في الكود الحالي. الخطأ الرئيسي يتعلق بالتعامل مع الملفات وتحديد المسار الصحيح. في الكود الخاص بك، قد تكون هناك مشكلة في التعامل مع متغير `$pages`، لأنه غير معرف في السياق الحالي. تصحيح الكود: public function store(Request $request) { $input = $request->validate([ 'pages_category_id' => 'required', 'name' => 'required', 'content' => 'required', 'thumbnail' => 'required|image', ]); // تحقق من وجود ملف الصورة في الطلب if ($image = $request->file('thumbnail')) { // حدد المسار الذي تريد حفظ الصورة فيه $destinationPath = 'uploads/pages/'; // قم بتوليد اسم فريد للصورة // الافضل استخدام date('YmdHis') لضمان ان الاسم فريد $imageName = date('Ymd') . "." . $image->getClientOriginalExtension(); // انقل الصورة إلى المسار المحدد $image->move(public_path($destinationPath), $imageName); // قم بتحديث قيمة الحقل 'thumbnail' في المتغير $input $input['thumbnail'] = $destinationPath . $imageName; } // لاحظ أننا قمنا بإعادة تعيين $input هنا بدلاً من أخطاء السطرين السابقين $input['content'] = strip_tags($request->content); // استخدام $input بدلاً من $request->all() Pages::create($input); return redirect('pages/list')->with('success', 'Success Add Page'); } تأكد من أن مجلد "uploads/pages/" قابل للكتابة من قبل الخادم، وأن جميع الأذونات اللازمة متاحة. كما أننا قمنا بتحديث اسم الحقل إلى 'thumbnail'. تأكد من أن اسم الحقل يتناسب مع الحقل الذي تريد حفظ الصورة فيه في جدول قاعدة البيانات. اقتباس
0 Mohammad Jumaa نشر 4 ديسمبر 2023 أرسل تقرير نشر 4 ديسمبر 2023 public function store(Request $request) { $input = $request->validate([ 'pages_category_id' => 'required', 'name' => 'required', 'content' => 'required', 'thumbnail' => 'required|image', // تأكد من أن هذا هو الاسم الصحيح لحقل الصورة ]); if ($image = $request->file('thumbnail')) // استخدم نفس الاسم هنا { $destinationPath = 'uploads/pages/'; // مسار الوجهة داخل مجلد public $imageName = date('YmdHis') . "." . $image->getClientOriginalExtension(); // استخدام وقت دقيق لتجنب تعارض الأسماء $image->move(public_path($destinationPath), $imageName); // حفظ الصورة في المجلد $input['image'] = $destinationPath.$imageName; // تحديث البيانات الواردة بمسار الصورة } $input['content'] = strip_tags($request->content); // $input = $request->all(); // يبدو أن هذا السطر غير ضروري Pages::create($input); return redirect('pages/list')->with('success', 'Success Add Page'); } قم بتعديل الكود كما قمت بكتابته وسيعمل ان شاء الله اقتباس
السؤال
Abdelrahman Mostafa10
لدي المتحكم التالي:
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.