လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> လျှို့ဝှက်ဖိုင်များကိုစာရင်းပြုစုရန်စန္ဒရား function ကိုမည်သို့အသုံးပြုရမည်နည်း။ ၎င်းကိုတစ်ဆင့်ချင်းမည်သို့အကောင်အထည်ဖော်ရမည်ကိုသင်ပေးပါ

လျှို့ဝှက်ဖိုင်များကိုစာရင်းပြုစုရန်စန္ဒရား function ကိုမည်သို့အသုံးပြုရမည်နည်း။ ၎င်းကိုတစ်ဆင့်ချင်းမည်သို့အကောင်အထည်ဖော်ရမည်ကိုသင်ပေးပါ

gitbox 2025-09-02

PHP တွင်, စန္ဒာ function သည် directory ရှိဖိုင်များနှင့်ဖိုင်တွဲများအားလုံးကိုစာရင်းပြုစုသောအလွန်အသုံးများသောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ ပုံမှန်အားဖြင့်၎င်းသည်လျှို့ဝှက်ဖိုင်များ (အစက်များဖြင့်စတင်သောဖိုင်များသို့မဟုတ်ဖိုလ်ဒါများ ) ကိုစာရင်းမသွင်းပါ။ ၎င်းသည်အချို့သောကိစ္စရပ်များတွင်ကျွန်ုပ်တို့အတွက်အဆင်မပြေမှုများဖြစ်ပေါ်စေနိုင်သည်။ ဤဆောင်းပါးသည်လျှို့ဝှက်ဖိုင်များကိုစာရင်းပြုစုရန် စနဒူရီ လုပ်ဆောင်မှုကိုမည်သို့အသုံးပြုရမည်ကိုနားလည်ရန်တစ်ဆင့်ချင်းအလိုက်သင့်ကိုခြေလှမ်းတစ်လျှောက်လှမ်းကြည့်မည်။

1 ။ နမူနာ function ကိုမိတ်ဆက်မိတ်ဆက်

စန္ဒာ function ၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 <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-variable">$sorting_order</span></span><span>);
</span></span>
  • $ directory : ဖိုင်ကိုစာရင်းပြုစုရန်လိုအပ်သည့်လမ်းညွှန်လမ်းကြောင်းကိုသတ်မှတ်သည်။

  • $ sorting_order : optional ကို, optional ကို, sorting နည်းလမ်းကိုသတ်မှတ်ပါ, default သည်အစဉ်အလာဖြစ်သည်။

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

2 ။ ပုံမှန်အားဖြင့် စကင်တူးပ်သည် လျှို့ဝှက်ဖိုင်များကိုစာရင်းမတင်ပါ

အောက်ပါကုဒ်ကို run မယ်ဆိုရင်

 <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-string">'/path/to/directory'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$files</span></span><span>);
</span></span>

ရလဒ်သည်အောက်ပါတို့နှင့်ဆင်တူသည် -

 <span><span>Array
(
    [</span><span><span class="hljs-meta">0</span></span><span>] =&gt; .
    [</span><span><span class="hljs-meta">1</span></span><span>] =&gt; ..
    [</span><span><span class="hljs-meta">2</span></span><span>] =&gt; file1.txt
    [</span><span><span class="hljs-meta">3</span></span><span>] =&gt; folder1
    [</span><span><span class="hljs-meta">4</span></span><span>] =&gt; file2.txt
)
</span></span>

သင်မြင်နိုင်သည့်အတိုင်း directory တွင်ရှိသောလျှို့ဝှက်ဖိုင်များ ( ဥပမာ နှင့်မိဘလမ်းညွှန် .. စာရင်းဝင်နေကြသည်။

3 ။ လျှို့ဝှက်ဖိုင်များကိုမည်သို့စာရင်းပြုစုရမည်နည်း။

စကင်တူး စာရင်းလျှို့ဝှက်ဖိုင်များကိုပြုလုပ်ရန်ကျွန်ုပ်တို့သည်၎င်းကိုနည်းလမ်းနှစ်မျိုးဖြင့်ပြုလုပ်နိုင်သည်။ တစ်ခုမှာစိတ်ကြိုက်စီစစ်ခြင်းနည်းလမ်းကိုအသုံးပြုရန်ဖြစ်သည်။ အခြားတစ် ဦး သည် စနဒူရီမှ ပြန်လည်ပေါင်းစပ်ခြင်းဖြင့် filter ဖြစ်သည်။

နည်းလမ်း 1: စိတ်ကြိုက်စီစစ်ခြင်း

ကျွန်ုပ်တို့သည် filter တစ်ခုကိုစိတ်ကြိုက်ပြုလုပ်နိုင်ပြီးစ ကင်တူးခြင်း ဖြင့်ပြန်လာသောဖိုင်အမည်များကိုကိုယ်တိုင်စစ်ဆေးနိုင်သည် ပြီးတော့သူတို့ကိုလိုအပ်ရာတွေအပေါ်အခြေခံပြီးစောင့်ရှောက်ဖို့ဆိုတာဆုံးဖြတ်ပါ။

 <span><span><span class="hljs-variable">$directory</span></span><span> = </span><span><span class="hljs-string">'/path/to/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-comment">// အသုံးပြု array_filter လျှို့ဝှက်ဖိုင်များကို filter လုပ်ပါ</span></span><span>
</span><span><span class="hljs-variable">$allFiles</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_filter</span></span><span>(</span><span><span class="hljs-variable">$files</span></span><span>, function(</span><span><span class="hljs-variable">$file</span></span><span>) {
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$file</span></span><span>[</span><span><span class="hljs-number">0</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> &amp;&amp; </span><span><span class="hljs-variable">$file</span></span><span> !== </span><span><span class="hljs-string">'..'</span></span><span>;
});

</span><span><span class="hljs-comment">// ဖိုင်များနှင့်ဖိုင်တွဲများအားလုံးကို output(လျှို့ဝှက်ဖိုင်များပါဝင်သည်)</span></span><span>
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$allFiles</span></span><span>);
</span></span>

ဤဥပမာတွင်ကျွန်ုပ်တို့သည် (I.E. , လျှို့ဝှက်ဖိုင်များ) ဖြင့်စတင်သောဖိုင်များကို filter လုပ်ရန် array_filter ကို အသုံးပြုခဲ့သည် နှင့် .. လမ်းညွှန်များမပါဝင်ပါ။

နည်းလမ်း 2. စနဗူရရီကို ပေါင်းစပ်ခြင်းရလဒ်နှင့် glos function ကိုပြန်ပို့သည်

နောက်ထပ်ဘုံအလေ့အကျင့်တစ်ခုမှာနည်းလမ်းနှင့် တွဲဖက်. conjunction ရှိ Glob function တစ်ခုကိုအသုံးပြုရန်ဖြစ်သည်။

 <span><span><span class="hljs-variable">$directory</span></span><span> = </span><span><span class="hljs-string">'/path/to/directory'</span></span><span>;
</span><span><span class="hljs-variable">$allFiles</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_merge</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-title function_ invoke__">glob</span></span><span>(</span><span><span class="hljs-variable">$directory</span></span><span> . </span><span><span class="hljs-string">'/.*'</span></span><span>));

</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$allFiles</span></span><span>);
</span></span>

ဤနည်းအားဖြင့် The Glow သည် ပုံစံ နှင့်ကိုက်ညီသောလျှို့ဝှက်ဖိုင်များအားလုံးကိုစာရင်းပြုစုထားသည်

4 ။ စစ်ထုတ်ပြီးပြန်လာသောဖိုင်များကိုလုပ်ဆောင်ပါ

အကယ်. သင်သည်အချို့သောဖိုင်များကိုဖယ်ထုတ်ခြင်းသို့မဟုတ်ဖိုင်များကိုခွဲထုတ်ခြင်းကဲ့သို့သောစာရင်းလျှို့ဝှက်ဖိုင်များတွင်ပိုမိုလုပ်ဆောင်လိုပါက စနဒူရီ မှပြန်လာသောခင်းကျင်းမှုကိုသင်လုပ်ဆောင်နိုင်သည်။

ဥပမာအားဖြင့် ,

 <span><span><span class="hljs-variable">$directory</span></span><span> = </span><span><span class="hljs-string">'/path/to/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-variable">$filteredFiles</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_filter</span></span><span>(</span><span><span class="hljs-variable">$files</span></span><span>, function(</span><span><span class="hljs-variable">$file</span></span><span>) {
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$file</span></span><span>[</span><span><span class="hljs-number">0</span></span><span>] !== </span><span><span class="hljs-string">'.'</span></span><span> || </span><span><span class="hljs-title function_ invoke__">strpos</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>, </span><span><span class="hljs-string">'.git'</span></span><span>) !== </span><span><span class="hljs-number">0</span></span><span>;
});

</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$filteredFiles</span></span><span>);
</span></span>

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

အထက်ပါနည်းလမ်းနှစ်ခုမှတဆင့်လျှို့ဝှက်ဖိုင်များကိုစာရင်းပြုစုရန် စနန္ဒာ function ကိုသုံးနိုင်သည်။ Custom filtering နည်းလမ်းများအသုံးပြုခြင်းသို့မဟုတ် chology functions များကိုပေါင်းစပ်ခြင်းရှိမရှိ, ၎င်းသည် PHP ရှိလျှို့ဝှက်ဖိုင်များအပါအ 0 င် directory ရှိဖိုင်များနှင့်ဖိုင်တွဲများကိုအောင်မြင်စွာရယူနိုင်ပါသည်။ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်လျှို့ဝှက်ဖိုင်များကိုကိုင်တွယ်ရန်သင့်တော်သောနည်းလမ်းကိုရွေးချယ်ခြင်းသည်သင့်အားဖိုင်များဖတ်ရှုခြင်းနှင့်လည်ပတ်မှုအပေါ်ပိုမိုကောင်းမွန်စွာထိန်းချုပ်နိုင်သည်။