Emad Saif نشر 19 مارس 2022 أرسل تقرير نشر 19 مارس 2022 لدي مجلد يسمى "all_images" وأريد حذف جميع الملفات من هذا المجلد باستخدام PHP. هذه العملية روتينية وتتكرر بإستمرار لدي، وأريد أن أقوم بعمل سكريبت بسيط لتفريغ المجلد بالكامل. ما هي الدوال التي يجب أن أسعملها للقيام بهذا الأمر؟ 1 اقتباس
1 Hassan Hedr نشر 19 مارس 2022 أرسل تقرير نشر 19 مارس 2022 يمكن الاستعانة بالدوال glob لتوليد قائمة بالملفات المطلوب حذفها، والتابع unlink لحذف كل ملف من قائمة الملفات تلك، يمكن كتابة شيفرة لذلك كالتالي (مع استبدال مسار مجلد all_images): <?php $files = glob('path/to/all_images/*'); // جميع الملفات ضمن ذلك الملف foreach($files as $file){ unlink($file); // حذف الملف } أو يمكن كتابة السابق بطريقة أقصر كالتالي عبر الاستعانة بالتابع array_map للمرور على الملفات بدلًا من حلقة foreach: <?php array_map('unlink', array_filter((array) glob("path/to/all_images/*"))); ثم عليك تنفيذ النص البرمجي السابق بحسب الجدولة المطلوبة ضمن مشروعك لحذف الملفات 1 اقتباس
1 Ahmed Abu Hatab نشر 19 مارس 2022 أرسل تقرير نشر 19 مارس 2022 (معدل) <?php /** احذف جميع الملفات في الدليل */ $path = '/all_images' // الطريقة الأولى لحذف الملفات في الدليل function clean_dir($path) { if (!is_dir($path)) { if (is_file($path)) { unlink($path); } return; } $p=opendir($path); while ($f=readdir($p)) { if ($f=="." || $f=="..") continue; clean_dir($path.$f); } rmdir($path); return; } // ?> نستخدم unlink وهي function تعمل على أفراغ المسار المطلوب ، المثال يعرف $path ، فوق ال function ثم يمرر المسار كتغير تم التعديل في 19 مارس 2022 بواسطة Ahmed Abu Hatab 1 اقتباس
1 شرف الدين حفني نشر 20 مارس 2022 أرسل تقرير نشر 20 مارس 2022 بالإضافة إلى إجابة حسن , تلك الطريقة ستجعلك تحذف جميع الملفات الظاهرة, لحذف الملفات المخفية يمكنك كتابة نفس الشفرة البرمجية مع إضافة علامة {,.} لتصبح كالتالي <?php $files = glob('path/to/all_images/{,.}*'); // جميع الملفات ضمن ذلك الملف foreach($files as $file){ unlink($file); // حذف الملف } 1 اقتباس
السؤال
Emad Saif
لدي مجلد يسمى "all_images" وأريد حذف جميع الملفات من هذا المجلد باستخدام PHP. هذه العملية روتينية وتتكرر بإستمرار لدي، وأريد أن أقوم بعمل سكريبت بسيط لتفريغ المجلد بالكامل.
ما هي الدوال التي يجب أن أسعملها للقيام بهذا الأمر؟
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.