3 فبراير, 2008عرض محتويات مجلد معين
الطريقة
فكرة عرض كل ما في المجلد من ملفات و مجلدات ليس مفيدة بحد ذاته لكن مع قليل من الإضافات و التعديل ستكون فعالة مثلا يمكنك عرض الصور في مجلد معين لبرنامج بطاقات أو يمكنك عرض مجموعة أسماء كل القوالب أو الثيمز المخزنة في مجلد في قائمة و هكذا
هذا الكود و سنفصله لاحقا
PHP CODE :
$dir = "/tmp/"; if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { echo "اسم الملف : $file"; echo " نوعه: " . filetype($dir . $file); } closedir($dh); } }
المتغير Dir سيحمل اسم المجلد
أولا في الدالة الشرطية الأولى سنتأكد من أن المجلد مجلد بالفعل و موجود
ثم في الدالة الشرطية التالية سنستخدم الدالة opendir لفتح المجلد
ثم في السطر التالي هناك ستبدأ الحلقة باستخدام الدالة readdir و التي ستقرأ من المجلد و ستستمر الحلقة طالما نتيجة القراءة لا تساوي false اي لم تنتهي الملفات من المجلد عند القراءة سيتم وضع اسم الملف في المتغير file
داخل الحلقة سنطبع محتويات المجلد اسم الملف و نوعة نحدد نوعه باستخدام الدالة filetype و نضع في الدالة عنوان المجلد و اسم الملف و نستخدم النقطة لعملية الدمج بينهما ليصبحا نص واحد .
ثم في النهاية نغلق المجلد
مع ملاحظة أن نوع المجلد يقصد به مجلد أو ملف و هكذا و ليس امتداد الملف .
تعديل بسيط
لكن لو جربت الكود السابق سترى ان هناك ملفات يظهر اسمها على شكل نقط و يعتمد هذا على عمق المجلد الذي انت فيه مثلا لو كنت مباشرة داخل المجلد الرئيسي ستجد نقطة في الاعلى و هكذا النقاط مزعجة و يمكن التحايل و عدم اظهارها بالتالي
عدل على شفرة الحلقة
PHP CODE :
while (($file = readdir($dh)) !== false) { if($file!="." && $file!=".."){ echo "اسم الملف : $file"; echo " نوعه: " . filetype($dir . $file); } }