اذهب إلى المحتوى
  • 0

حذف ملفات مجلد بإستخدام Laravel

Mahmoud Alrashidi

السؤال

هل هناك طريقة لحذف جميع الملفات الموجودة داخل مُجلد مثلا بهذا الشكل:

Storage::delete('app/public/products/*.png');

هذا السطر يعطي false و لا يتم حذف أي شيء.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

يُمكنك حذف جميع ملفات مُجلد بإستخدام التابع 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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...