လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> စနဒူရ၏လုပ်ဆောင်မှုမှရရှိသောရလဒ်တွင်အခြားလမ်းညွှန်များနှင့်ဖိုင်များကွဲပြားခြားနားသောလမ်းညွှန်များနှင့်ဖိုင်များကိုမည်သို့ခွဲခြားသတ်မှတ်ရမည်နည်း။

စနဒူရ၏လုပ်ဆောင်မှုမှရရှိသောရလဒ်တွင်အခြားလမ်းညွှန်များနှင့်ဖိုင်များကွဲပြားခြားနားသောလမ်းညွှန်များနှင့်ဖိုင်များကိုမည်သို့ခွဲခြားသတ်မှတ်ရမည်နည်း။

gitbox 2025-09-11

PHP တွင် စနတူးရေး function ကိုသတ်မှတ်ထားသော directory တွင်ဖိုင်များနှင့်လမ်းညွှန်များစာရင်းကိုရရှိရန်အသုံးပြုသည်။ သတ်မှတ်ထားသော directory တွင်ဖိုင်များနှင့် subdirectories များအားလုံး၏အမည်များနှင့်ပတ် 0 န်းကျင်များပါ 0 င်သည့်ခင်းကျင်းမှုကိုပြန်လည်ရောက်ရှိစေသည်။ စနဒူရီ ၏အခြေခံအသုံးပြုမှုသည်အလွန်ရိုးရှင်းသည်, သို့သော်၎င်းသည်ဖိုင်များကိုလမ်းညွှန်များမှခွဲခြားသတ်မှတ်သည့်မှတ်ပုံတင်ကိုတိုက်ရိုက်မပေးချေ။ သို့သော်ကျွန်ုပ်တို့သည်အခြားလုပ်ဆောင်မှုများကိုပေါင်းစပ်ခြင်းဖြင့် entry တစ်ခုစီ၏အမျိုးအစားကိုအလွယ်တကူခွဲခြားသတ်မှတ်နိုင်သည်။

1 ။ စနဗူ function ကို၏အခြေခံအသုံးပြုမှု

စနတူးရေး function ၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 <span><span><span class="hljs-keyword">array</span></span><span> </span><span><span class="hljs-title function_ invoke__">scandir</span></span><span> ( </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$directory</span></span><span> [, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$sorting_order</span></span><span> = SCANDIR_SORT_ASCENDING [, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$context</span></span><span> = </span><span><span class="hljs-literal">NULL</span></span><span> ]] )
</span></span>
  • $ directory : စကင်ဖတ်စစ်ဆေးရန်လမ်းညွှန်လမ်းကြောင်း။

  • $ sorting_order : တက်ကြွမှုအမိန့် ( scandir_sort_Cascending ) ကိုပျက်ကွက်ခြင်း,

  • $ Context : အခြေအနေတွင် stream ကိုသတ်မှတ်ခြင်း, optional ကိုဖော်ပြရန်။

စကင်တူးသည် directory တစ်ခု၏ contents ၏ contents ပါ 0 င်သော array များပါ 0 င်သည်။ ၎င်းသည်များသောအားဖြင့်ဖိုင်အမည်နှင့် subdirectory ၏အမည်ဖြစ်သည်။ ပြန်လာတန်ဖိုးမှာလက်ရှိလမ်းညွှန် ( ) နှင့်မိဘလမ်းညွှန် ( .. ) နှင့်မိဘလမ်းညွှန်များပါဝင်သည်။

2 ။ ဖိုင်များနှင့်လမ်းညွှန်များကိုမည်သို့ဆုံးဖြတ်ရမည်နည်း။

စကင်တူးမှ ပြန်လာသောဖိုင်များနှင့်လမ်းညွှန်များကိုခွဲခြားရန်ကျွန်ုပ်တို့သည် is_file () နှင့် is_dir () လုပ်ဆောင်ချက်များကိုသုံးနိုင်သည်။ သူတို့ကပေးထားသောလမ်းကြောင်းသည်ဖိုင်တစ်ခုသို့မဟုတ်လမ်းညွှန်တစ်ခုရှိမရှိဆုံးဖြတ်ရန်အသုံးပြုသည်။ စနဗွတ် ၏ရလဒ်များကိုဖြတ်သန်းခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် entry တစ်ခုစီ၏အမျိုးအစားကိုအလွယ်တကူခွဲခြားသတ်မှတ်နိုင်သည်။

3 ။ နမူနာကုဒ်

is_file () နှင့် is_dir () မှဖိုင်များနှင့်လမ်းညွှန်များကိုတရားသူကြီးများနှင့်လမ်းညွှန်များကိုတရားသူကြီးများနှင့်လမ်းညွှန်များကိုတရားသူကြီး များ နှင့်လမ်းညွှန်များကိုတရားစီရင်ခြင်း () -

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$directory</span></span><span> = </span><span><span class="hljs-string">'/path/to/your/directory'</span></span><span>;  </span><span><span class="hljs-comment">// directory ကိုစကင်ဖတ်စစ်ဆေးရန်သတ်မှတ်ပါ</span></span><span>
</span><span><span class="hljs-variable">$files</span></span><span> = </span><span><span class="hljs-title function_ invoke__">scandir</span></span><span>(</span><span><span class="hljs-variable">$directory</span></span><span>);

</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$files</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$file</span></span><span>) {
    </span><span><span class="hljs-comment">// ခုန်ကျော်သည် "." နှင့် ".."</span></span><span>
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$file</span></span><span> == </span><span><span class="hljs-string">'.'</span></span><span> || </span><span><span class="hljs-variable">$file</span></span><span> == </span><span><span class="hljs-string">'..'</span></span><span>) {
        </span><span><span class="hljs-keyword">continue</span></span><span>;
    }

    </span><span><span class="hljs-variable">$filePath</span></span><span> = </span><span><span class="hljs-variable">$directory</span></span><span> . DIRECTORY_SEPARATOR . </span><span><span class="hljs-variable">$file</span></span><span>;

    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_dir</span></span><span>(</span><span><span class="hljs-variable">$filePath</span></span><span>)) {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$file</span></span><span> . </span><span><span class="hljs-string">" ဒါဟာလမ်းညွှန်တစ်ခုပါ\n"</span></span><span>;
    } </span><span><span class="hljs-keyword">elseif</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_file</span></span><span>(</span><span><span class="hljs-variable">$filePath</span></span><span>)) {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$file</span></span><span> . </span><span><span class="hljs-string">" ဖိုင်တစ်ခုပါ\n"</span></span><span>;
    } </span><span><span class="hljs-keyword">else</span></span><span> {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$file</span></span><span> . </span><span><span class="hljs-string">" အမည်မသိအမျိုးအစားဖြစ်ပါတယ်\n"</span></span><span>;
    }
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

4 ။ code ခွဲခြမ်းစိတ်ဖြာ

  1. ဖိုင်များနှင့်လမ်းညွှန်များကိုသတ်မှတ်ထားသောလမ်းညွှန်တွင်ဖိုင်များနှင့်လမ်းညွှန်အားလုံးကိုရယူရန် စနန္ဒာ ($ directory) ကို ကျွန်ုပ်တို့ပထမဆုံးခေါ်ဆိုသည်။

  2. receente ကို Returned File List မှတစ်ဆင့်ကွင်းဆက်သို့သုံးပါ။

  3. တစ်ခုချင်းစီကို entry ကိုသီးသန့် နှင့် .. ပထမ ဦး စွာပထမ ဦး စွာ, သူတို့ကလက်ရှိလမ်းညွှန်နှင့်မိဘလမ်းညွှန်အသီးသီးကိုကိုယ်စားပြုသောကြောင့်များသောအားဖြင့်နောက်ထပ်အပြောင်းအလဲနဲ့မလိုအပ်ပါဘူး။

  4. ထို့နောက် entry သည် directory တစ်ခုရှိမရှိစစ်ဆေးရန် IS_DIR () ကို သုံးပါ။ အကယ်. ၎င်းသည်လမ်းညွှန်တစ်ခုဖြစ်ပါကသက်ဆိုင်ရာအချက်ပြ promption သည် output ကိုဖြစ်သည်။

  5. နောက်တစ်ခုကဖိုင်တစ်ခုရှိမရှိဆုံးဖြတ်ရန် is_file () ကို သုံးပါ။ ၎င်းသည်ဖိုင်တစ်ခုဖြစ်ပါကသက်ဆိုင်ရာအချက်ပြ promptial သည် output ကိုဖြစ်သည်။

  6. အထက်ပါအခြေအနေများမပြည့်မီပါကကျွန်ုပ်တို့သည် entry ကိုအထူးဖိုင်တစ်ခုအဖြစ်သတ်မှတ်ရန်စဉ်းစားနိုင်သည်။

5 ။ ရလဒ် output ကိုဥပမာ

ယူဆ / လမ်းကြောင်း / / သင်၏ / directory တွင် အောက်ပါတို့ပါ 0 င်သည်။

  • File1.txt (ဖိုင်)

  • File2.Php (ဖိုင်)

  • subdir1 (လမ်းညွှန်)

  • subdir2 (လမ်းညွှန်)

အထက်ပါကုဒ်ကိုဖွင့်ပြီးနောက်အောက်ပါအတိုင်း output သည်အောက်ပါအတိုင်းဖြစ်သည် -

 <span><span>file1.txt ဖိုင်တစ်ခုပါ
file2.php ဖိုင်တစ်ခုပါ
subdir1 ဒါဟာလမ်းညွှန်တစ်ခုပါ
subdir2 ဒါဟာလမ်းညွှန်တစ်ခုပါ
</span></span>

6 ။ အကျဉ်းချုပ်

scandir နှင့် is_file () နှင့် is_dir () functions များကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ဖိုင်စနစ်ရှိ entry အမျိုးအစားများကိုအလွယ်တကူဆုံးဖြတ်ပြီးဖိုင်များနှင့်လမ်းညွှန်များကိုခွဲခြားနိုင်သည်။ စနဗွင် ကိုယ်တိုင်ကတိုက်ရိုက်မှတ်ပုံတင်သတင်းအချက်အလက်မပေးနိုင်သော်လည်းအခြားဖိုင်စနစ်လုပ်ဆောင်ချက်များနှင့်အသုံးပြုခြင်းသည်ဤလုပ်ငန်းကိုအလွန်ရိုးရှင်းစေသည်။