عرض محتويات مجلد معين

Spread the love
 عرض محتويات مجلد معين  أضيف في: 4-5-1428هـ
فكرة عرض كل ما في المجلد من ملفات و مجلدات ليس مفيدة بحد ذاته لكن مع قليل من الإضافات و التعديل ستكون فعالة مثلا يمكنك عرض الصور في مجلد معين لبرنامج بطاقات أو يمكنك عرض مجموعة أسماء كل القوالب أو الثيمز المخزنة في مجلد في قائمة و هكذا

هذا الكود و سنفصله لاحقا

PHP CODE:
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011

<?
$dir = "/tmp/";
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
echo "اسم الملف : $file : نوعه: " . filetype($dir . $file) "n";
}
closedir($dh);
}
}
?>



المتغير Dir سيحمل اسم المجلد


أولا في الدالة الشرطية الأولى سنتأكد من أن المجلد مجلد بالفعل و موجود

ثم في الدالة الشرطية التالية سنستخدم الدالة opendir لفتح المجلد

ثم في السطر التالي هناك ستبدأ الحلقة باستخدام الدالة readdir و التي ستقرأ من المجلد و ستستمر الحلقة طالما نتيجة القراءة لا تساوي false اي لم تنتهي الملفات من المجلد عند القراءة سيتم وضع اسم الملف في المتغير file

داخل الحلقة سنطبع محتويات المجلد اسم الملف و نوعة نحدد نوعه باستخدام الدالة filetype و نضع في الدالة عنوان المجلد و اسم الملف و نستخدم النقطة لعملية الدمج بينهما ليصبحا نص واحد .

ثم في النهاية نغلق المجلد

مع ملاحظة أن نوع المجلد يقصد به مجلد أو ملف و هكذا و ليس امتداد الملف .


تعديل بسيط لكن لو جربت الكود السابق سترى ان هناك ملفات يظهر اسمها على شكل نقط و يعتمد هذا على عمق المجلد الذي انت فيه مثلا لو كنت مباشرة داخل المجلد الرئيسي ستجد نقطة في الاعلى و هكذا النقاط مزعجة و يمكن التحايل و عدم اظهارها بالتالي

عدل على شفرة الحلقة

PHP CODE:
0001
0002
0003
0004
0005
0006
0007

<?
while (($file = readdir($dh)) !== false) {
if($file!="." && $file!=".."){
echo "اسم الملف : $file : نوعه: " . filetype($dir . $file) . "n";
}
}
?>  

الكاتب geek4arab

geek4arab

مواضيع متعلقة

التعليقات مغلقة