PHP တွင်ဖိုင်များနှင့်လမ်းညွှန်များကိုကိုင်တွယ်ခြင်းသည်အလွန်အသုံးများသောလိုအပ်ချက်ဖြစ်သည်။ is_dir () နှင့် GOS) () နှင့် GOS () သည်လမ်းညွှန်များတည်ရှိမှုကိုစစ်ဆေးပြီးကိုက်ညီသောဖိုင်များကိုရှာဖွေရန်အလွန်အသုံးဝင်သောလုပ်ဆောင်ချက်နှစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည်တိကျသောလမ်းညွှန်တစ်ခုနှင့်ကိုက်ညီသောဖိုင်များရရှိရန်ဤလုပ်ဆောင်ချက်နှစ်ခုကိုမည်သို့ပေါင်းစပ်ရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။ သတ်သတ်မှတ်မှတ် application တစ်ခုတွင်ဖိုင် extension များ, ဖိုင်အမည်ပုံစံများစသည်တို့ကို အခြေခံ. filtering filtering ပါဝင်သည်။
is_dir () function ကိုလမ်းကြောင်းသည်လမ်းကြောင်းတစ်ခုရှိမရှိရှာဖွေရန်အသုံးပြုသည်။ လမ်းကြောင်းကိုလမ်းကြောင်းမှညွှန်ပြပါက စစ်မှန်သော ပြန်လာပါ ။
<span><span><span class="hljs-variable">$isDirectory</span></span><span> = </span><span><span class="hljs-title function_ invoke__">is_dir</span></span><span>(</span><span><span class="hljs-string">'path/to/directory'</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$isDirectory</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">'ဒါကလမ်းညွှန်တစ်ခုပါ'</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-string">'ဒါကလမ်းညွှန်မဟုတ်ဘူး'</span></span><span>;
}
</span></span>
Glob () function ကိုပေးထားသောပုံစံနှင့်ကိုက်ညီသောလမ်းကြောင်းတစ်ခုကိုရှာဖွေရန်အသုံးပြုသည်။ ၎င်းသည် wildcards များကိုသတ်မှတ်ခြင်းနှင့်ကိုက်ညီသောဖိုင်လမ်းကြောင်းများသို့ပြန်ပို့ခြင်းဖြင့်ဖိုင်များကိုရှာဖွေနိုင်သည်။ ဥပမာအားဖြင့်, GOS ('* ။ txt') သည် .txt နောက်ဆက်ဖိုင်အားလုံးကိုပြန်ပို့သည်။
<span><span><span class="hljs-variable">$files</span></span><span> = </span><span><span class="hljs-title function_ invoke__">glob</span></span><span>(</span><span><span class="hljs-string">'path/to/directory/*.txt'</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 class="hljs-comment">// အားလုံးကိုက်ညီ output ကို *.txt ပုံစံများအတွက်ဖိုင်လမ်းကြောင်း</span></span><span>
</span></span>
IS_DIR () နှင့် GOS () ပေါင်းစပ်ခြင်းများကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်သတ်မှတ်ထားသော directory တွင်သတ်မှတ်ထားသော directory ရှိသီးခြားပုံစံနှင့်ကိုက်ညီသောဖိုင်များကိုရှာဖွေခြင်းကိုအကောင်အထည်ဖော်နိုင်သည်။ လမ်းညွှန်သည်မတည်ရှိသည့်အခါအဓိပ္ပာယ်မရှိသောဖိုင်ရှာဖွေမှုများကိုရှောင်ရှားသည်။
<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-comment">// ပထမ ဦး ဆုံးကိုသုံးပါ is_dir() လမ်းညွှန်တည်ရှိမရှိမရှိစစ်ဆေးပါ</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">$directory</span></span><span>)) {
</span><span><span class="hljs-comment">// အဆိုပါ directory တည်ရှိလျှင်,အသုံးပြု glob() အားလုံးကိုရှာပါ .php စာချုပ်စာတမ်း</span></span><span>
</span><span><span class="hljs-variable">$phpFiles</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">'/*.php'</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">$phpFiles</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အောက်ပါတို့ကိုရှာပါ PHP စာချုပ်စာတမ်း:\n"</span></span><span>;
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$phpFiles</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-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-string">"အဘယ်အရာကိုမျှရှာမတွေ့ပါ .php စာချုပ်စာတမ်း。\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-string">"သတ်မှတ်ထားသော directory မရှိပါ。\n"</span></span><span>;
}
</span></span>
<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-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_dir</span></span><span>(</span><span><span class="hljs-variable">$directory</span></span><span>)) {
</span><span><span class="hljs-variable">$testFiles</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">'/test_*'</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$testFiles</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အောက်ပါတို့ကိုရှာပါ以 'test_' 开头的စာချုပ်စာတမ်း:\n"</span></span><span>;
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$testFiles</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-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-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-string">"အဆိုပါလမ်းညွှန်မတည်ရှိပါဘူး。\n"</span></span><span>;
}
</span></span>
တစ်ခါတစ်ရံတွင်ကျွန်ုပ်တို့သည်ဖိုင်များကိုသတ်မှတ်ထားသောလမ်းညွှန်တစ်ခုတွင်ရှာဖွေရန်သာမက 4 င်း၏ subdirectories တွင်လည်းရှာဖွေလိုသည်။ ဤအချိန်တွင် IS_DIR () , GOS () () နှင့်ပြုပြင်ခြင်းလုပ်ငန်းများကိုပေါင်းစပ်နိုင်သည်။
<span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">recursiveGlob</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$dir</span></span></span><span>, </span><span><span class="hljs-variable">$pattern</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-title function_ invoke__">is_dir</span></span><span>(</span><span><span class="hljs-variable">$dir</span></span><span>)) {
</span><span><span class="hljs-keyword">return</span></span><span> [];
}
</span><span><span class="hljs-variable">$files</span></span><span> = </span><span><span class="hljs-title function_ invoke__">glob</span></span><span>(</span><span><span class="hljs-variable">$dir</span></span><span> . </span><span><span class="hljs-string">'/'</span></span><span> . </span><span><span class="hljs-variable">$pattern</span></span><span>);
</span><span><span class="hljs-variable">$directories</span></span><span> = </span><span><span class="hljs-title function_ invoke__">glob</span></span><span>(</span><span><span class="hljs-variable">$dir</span></span><span> . </span><span><span class="hljs-string">'/*'</span></span><span>, GLOB_ONLYDIR);
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$directories</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$directory</span></span><span>) {
</span><span><span class="hljs-variable">$files</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_merge</span></span><span>(</span><span><span class="hljs-variable">$files</span></span><span>, </span><span><span class="hljs-title function_ invoke__">recursiveGlob</span></span><span>(</span><span><span class="hljs-variable">$directory</span></span><span>, </span><span><span class="hljs-variable">$pattern</span></span><span>)); </span><span><span class="hljs-comment">// Subdirectories ကိုရှာဖွေရန်ရှာဖွေခြင်း</span></span><span>
}
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$files</span></span><span>;
}
</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">$txtFiles</span></span><span> = </span><span><span class="hljs-title function_ invoke__">recursiveGlob</span></span><span>(</span><span><span class="hljs-variable">$directory</span></span><span>, </span><span><span class="hljs-string">'*.txt'</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$txtFiles</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အောက်ပါတို့ကိုရှာပါ .txt စာချုပ်စာတမ်း:\n"</span></span><span>;
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$txtFiles</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-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-string">"အဘယ်အရာကိုမျှရှာမတွေ့ပါ .txt စာချုပ်စာတမ်း。\n"</span></span><span>;
}
</span></span>
IS_DIR () နှင့် GOS () လုပ်ငန်းဆောင်တာများကိုပေါင်းစပ်ပြီးဖိုင်များကိုအလွယ်တကူရှာတွေ့နိုင်သည်။ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဤလုပ်ဆောင်ချက်နှစ်ခုသည်ဖိုင်များကိုထိရောက်စွာစစ်ထုတ်ကာမတည်ရှိသည့်လမ်းညွှန်များကိုရှောင်ရှားနိုင်သည်။ ရိုးရှင်းသောပေါင်းစပ်ခြင်းနှင့်ပြန်လည်ပြုပြင်ခြင်းဖြင့်ဖွဲ့စည်းတည်ဆောက်ခြင်း,