النتائج 1 إلى 12 من 12

الموضوع: [دالة] scandir

  1. #1

    [دالة] scandir



    بسم الله الرحمان الرحيم

    ستنعرف على دالة scandir التي اتت مع نسخة php 5
    الدالة تصبح مصفوفة تحمل اسماء الملفات بمجرد اعطائها اسم الجلد

    لنفرض ان لدينا مجلد باسم php5

    قبل php 5 عندما تريد استخراج اسماء الملفات الموجودة في مجلد ما سيكون لازاما عليك كتابة هذا الكود

    كود PHP:
    $dir="php5"// اسم المجلد
    $dir2=opendir($dir); // مقبض المجلد
     
    while( $read=readdir($dir2) ) 
        {
        echo 
    $read.'<br />'// طباعة اسماء الملفات
        
        
        
    }
    closedir($dir2); 


    الأن سنجرب دالة scandir

    كود PHP:
    $dir="php5"// اسم المجلد
    $dir2=scandir($dir); // حفظ اسماء الملفات في مصفوفة 

    echo'<pre>';
    print_r($dir2);
    echo
    '</pre>'
    وهذه طريقة طباعة اسماء الملفات بشكل عادي
    كود PHP:
    $dir="php5"// اسم المجلد
    $dir2=scandir($dir); // حفظ اسماء الملفات في مصفوفة 

    for($i=0;$i<count($dir2);$i++)
       {
      echo 
    '<br />'.$dir2[$i];

       } 
    كما يمكن تجاهل . و ..

    بهذا الكود

    كود PHP:
    $dir="php5"// اسم المجلد
    $dir2=scandir($dir); // حفظ اسماء الملفات في مصفوفة 

    for($i=0;$i<count($dir2);$i++)
       {
          
    // اذا كانت القيمة تساوي اي من  النقطة او النقطتين استمر ولا تطبعهما
         
    if( $dir2[$i] == "." or $dir2[$i] == ".." 
            {
            continue; 
            }        
      echo 
    '<br />'.$dir2[$i];

       } 
    فوائد الدرس:
    معريفة طريقة التعامل مع الملفات
    معرفة استخدام اكثر من طريقة
    معرفة استخدام احسن الطرق للوصول الى المبتغى

    ولا تنسى ان دالة scandir تعمل فقط على php5

    والسلام عليكم





    __________________
    عدت
    اقتراحاتكم -> www.elbachiri.com


  2. #2
    عضو سوبر نشيط
    تاريخ التسجيل
    Dec 2004
    المشاركات
    929


    درس جميل جدا


    جزاك الله خير





    __________________
    سبحان الله وبحمده ،، سبحان الله العظيم
    تذكر هذه الآيه قبل ان تشارك( مَا يَلْفِظُ مِن قَوْلٍ إِلَّا لَدَيْهِ رَقِيبٌ عَتِيدٌ)

  3. #3
    عضو نشيط جدا
    تاريخ التسجيل
    May 2007
    المشاركات
    509


    ما شاء الله عليك اخوي بالفعل درس غاية في الروعة وان شاء الله تفيدنا بالمستقبل ايضا .

    الى الامام .





    __________________
    EbNCaNa اخوكم ابن قانا

    [درس] قائمة بريدية بأسهل الطرق بواسطة PHP

    [توقيعك يجب أن لا يكون أطول من 400 حرف يتضمن تجاوز كود المنتدى] - الى متى المعاناة يا حضرة الأدارة ؟

  4. #4
    عضو نشيط جدا
    تاريخ التسجيل
    Nov 2000
    المشاركات
    504


    شكراً لك اخي الكريم والله يكثر من امثالك

    ولا يحرمك من الاجرررر






  5. #5
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    450

    Wink



    السلام عليكم ,...
    مشكور على شرحك ,
    هناك ايضا , ...
    كود PHP:
    $dir=scandir(php5);  
    for(
    $i=2;$i<count($dir);$i++)
       {
        echo 
    '<br />'.$dir[$i];

       } 
    ليس عليك استخدام :
    if( $dir2[$i] == "." or $dir2[$i] == ".." )
    فقط اجعل قيمة $i تساوى 2 ليتجاهل اول نتيجتين وهما . و ..
    او
    [php]$dir="php5"; // اسم المجلد
    $dir2=scandir($dir); // حفظ اسماء الملفات في مصفوفة
    فقط ...
    كود PHP:
    $dir=scandir(php5); 
    ----------------------------------------------------------------------------
    تحياتى





    التعديل الأخير تم بواسطة dewan159 ; 28-03-2008 الساعة 03:40 PM

  6. #6


    شكراً لك علي الإفادة ...





    __________________
    ahmed sliman .. Web Programmer
    ahmeds _ link @ hotmail . com

  7. #7
    عضو جديد
    تاريخ التسجيل
    Mar 2008
    المشاركات
    3


    جزاك الله خيرا أخي الفاضل و لكن هل تشتغل على النسخ تحت php5 ؟؟؟





    __________________
    لا إله إلا أنت سبحان إني كنت من الظالمين
    كتب و برامج

  8. #8


    طير شلوى
    EbNCaNa
    الطالب
    ahmeds_link

    بارك الله فيكم

    dewan159

    بالنسبة ل
    كود PHP:
    $dir=scandir(php5);  
    for(
    $i=2;$i<count($dir);$i++)
       {
        echo 
    '<br />'.$dir[$i];

       } 
    هي طريقة رائعة وذكية لم افكر فيها من قبل شكرا لك

    اما
    كود:
    [php]$dir="php5"; // اسم المجلد
    $dir2=scandir($dir); // حفظ اسماء الملفات في مصفوفة
    فقط ...
    كود PHP:
    $dir=scandir(php5);
    المتغير الذي يحمل اسم المجلد يمكن تغيره بسهولة دون التعديل في دالة التكرار
    كل واحد وطريقته

    بارك الله فيك على الاضافة





    __________________
    عدت
    اقتراحاتكم -> www.elbachiri.com

  9. #9


    جزاك الله خيرا أخي الفاضل و لكن هل تشتغل على النسخ تحت php5 ؟؟؟
    نعم تشتغل على php 5





    __________________
    عدت
    اقتراحاتكم -> www.elbachiri.com

  10. #10
    عضو نشيط جدا
    تاريخ التسجيل
    Mar 2002
    المشاركات
    444


    هذة الدالة مجربها وفادتني كثير وأأكد انها ما تشتغل الا على الاصدار الخامس من php

    وايضا وقعت في مشكلة وهي انك اذا رفعت مجلد كامل من جهازك الى موقعك

    ستجد انه الملفات المخفية في المجلد ستظهر في النتائج مثل ملف thum.db اظن اسمه كذا
    وفي ملف اخر مخفي طلع بالنتائج ..

    وفي طرق ثانية للاصدارات الللي اقل من 5
    راجع الردود في هذا الرابط
    PHP: scandir - Manual






  11. #11
    عضو جديد
    تاريخ التسجيل
    Mar 2008
    المشاركات
    18


    اعتقد انها تعمل على php5 فقط .!!





    التعديل الأخير تم بواسطة mon_man ; 29-03-2008 الساعة 01:30 AM

  12. #12
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    450

    Wink



    هناك حل اخر لمن يريد ان يجمع بين الاصدارات ( الخامسة وما قبلها ) اذا اردت ان يعمل تطبيقك على اى اصدارة :
    اليك الكود :
    كود PHP:
    function getDir($dir) {
    if (
    version_compare(PHP_VERSION"5.0.0"">="))
    return 
    scandir($dir);
    else{
        
    $dh opendir($dir);
        while (
    false !== ($filename readdir($dh))) {
            
    $files[] = $filename;
        }
        
    sort($files);
        return 
    $files;}
    }
    $flist getDir($fd); 
    ملخص العمل : اذا كانت الاصدارة اقل من 5 يستخدم الطريقة القديمة : readdir
    اذا كانت الاصدارة 5 وما فوق يستخدم ال scandir وتكون النتيجة فى المتغير : $flist
    ويمكنك بعد ذلك استخدام for مع المتغير الناتج لجلب المحتوى كما بالمثال بالاعلى ...
    -----------------------------
    تحياتى للجميع ,










ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض