Mahmoud Alrashidi نشر 20 فبراير 2021 أرسل تقرير نشر 20 فبراير 2021 هل هناك طريقة لحذف جميع الملفات الموجودة داخل مُجلد مثلا بهذا الشكل: Storage::delete('app/public/products/*.png'); هذا السطر يعطي false و لا يتم حذف أي شيء. اقتباس
0 سمير عبود نشر 20 فبراير 2021 أرسل تقرير نشر 20 فبراير 2021 يُمكنك حذف جميع ملفات مُجلد بإستخدام التابع cleanDirectory على الواجهة: File بهذا الشكل: File::cleanDirectory("storage/app/public/products"); و سيُعطيك true في حالة تم الحذف أما إن كان المسار غير موجود سيُعطيك false. او بإمكانك إستخدام التالي أيضاً: use Illuminate\Filesystem\Filesystem; $fs = new Filesystem; $fs->cleanDirectory("storage/app/public/products"); أما إن أردت حذف مُجلد بكافة الملفات التي بداخله يُمكنك إستخدام التابع deleteDirectory بهذا الشكل: File::deleteDirectory("storage/app/public/products"); الفرق بين الطريقتين ان الأولى تحذف الملفات التي بداخل المُجلد فقط و تُبقي على المُجلد نفسه أما الثانية فتحذف المُجلد نفسه و ما بداخله. أما الطريقة التي تستخدمها فهي لحذف ملف واحد فقط بتمرير مساره للتابع delete كما يمكنك إستخدام نفس التابع لحذف مجموعة من الملفات بتمرير مسارات هذه الملفات في مصفوفة و بالتالي يُمكن إستخدام التابع allFiles لجلب الملفات الموجودة في مجلد ما على شكل مصفوفة و نُمررها للتابع delete بالشكل التالي: $files = Storage::allFiles("public/products"); Storage::delete($files); لاحظ أننا لم نمرر المسار بداية من app لأنه توابع الصنف Storage تنظر مباشرة داخل المجلد app و بالتالي إن قمت بتمريره في مسار الملف ستفترض أن هناك مجلد app داخل مُجلد app هكذا: storage/app/app 2 اقتباس
السؤال
Mahmoud Alrashidi
هل هناك طريقة لحذف جميع الملفات الموجودة داخل مُجلد مثلا بهذا الشكل:
هذا السطر يعطي false و لا يتم حذف أي شيء.
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.