လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> is_dir () function ကိုဆုံးဖြတ်သည့်အခါပျော့ပျောင်းသောလင့်ခ်များဖြင့်လှည့်ဖြားခြင်းကိုမည်သို့ရှောင်ရှားရမည်နည်း။

is_dir () function ကိုဆုံးဖြတ်သည့်အခါပျော့ပျောင်းသောလင့်ခ်များဖြင့်လှည့်ဖြားခြင်းကိုမည်သို့ရှောင်ရှားရမည်နည်း။

M66 2025-06-26

is_dir () function ကိုဆုံးဖြတ်သည့်အခါပျော့ပျောင်းသောလင့်ခ်များဖြင့်လှည့်ဖြားခြင်းကိုမည်သို့ရှောင်ရှားရမည်နည်း။

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

နောက်ခံနောက်ခံ

သင့်တွင်လမ်းညွှန်တစ်ခုသည်အခြားလမ်းကြောင်းတစ်ခုကိုညွှန်ပြသည့်ပျော့ပျောင်းသော link တစ်ခုဖြစ်သည့် directory ဖွဲ့စည်းပုံရှိသည်ဆိုပါစို့။ ကျွန်ုပ်တို့သည်ဤပျော့ ပျောင်း သော link ကိုဆုံးဖြတ်ရန်ကျွန်ုပ်တို့အသုံးပြုသောအခါ၎င်းသည်ပျော့ပျောင်းသော link ကို directory မဟုတ်ဘဲသာမန်ဖိုင်တစ်ခုဖြစ်သော်လည်း ပုံမှန် ပြန်ရောက်သည်။ ဤပြ problem နာသည်အထူးသဖြင့်ဖိုင်အမျိုးအစားနှင့်လမ်းညွှန်လမ်းကြောင်းဖြတ်သန်းသည့်အခါ, လမ်းကြောင်းသည်လမ်းညွှန်တစ်ခုရှိမရှိပိုမိုတိကျစွာဆုံးဖြတ်ရန်အတွက်ကျွန်ုပ်တို့သည် is_dir () ကြောင့်ရှုပ်ထွေးမှုများကိုရှောင်ရှားရန်လိုအပ်သည်။

အဖေြ

soft link ကိုဆုံးဖြတ်ချက်ဖြင့် function ၏လှည့်ဖြားသောသဘောသဘာဝကိုဖြေရှင်းနိုင်ရန်အတွက်ကျွန်ုပ်တို့သည်အခြားလုပ်ဆောင်မှုများကိုပိုမိုတိကျသောဆုံးဖြတ်ချက်ချရန်အခြားလုပ်ဆောင်မှုများကိုပေါင်းစပ်နိုင်သည်။ ဒီမှာများသောအားဖြင့်အလေ့အကျင့်အနည်းငယ်ရှိပါတယ်။

1 ။ soft link ကိုရှိမရှိဆုံးဖြတ်ရန် is_link () ကို သုံးပါ

ပထမ ဦး စွာကျွန်ုပ်တို့သည် is_link () function ကိုသုံးနိုင်သည်။ is_link () function သည် soft link ကိုရှိမရှိညွှန်ပြသည့် boolean value ကိုပြန်ပို့သည်။ ၎င်းသည်နူးညံ့သော link တစ်ခုရှိမရှိ ဦး ဆုံးအကောင်အထည်ဖော်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် Misjudgment ကိုရှောင်ရှားနိုင်သည်။

 <span><span><span class="hljs-variable">$path</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_link</span></span><span>(</span><span><span class="hljs-variable">$path</span></span><span>)) {
    </span><span><span class="hljs-comment">// ဒါက soft link ကိုပါ,soft link ကိုအားဖြင့်ထောက်ပြသည့်ပစ်မှတ်လမ်းကြောင်းကိုစစ်ဆေးပါ</span></span><span>
    </span><span><span class="hljs-variable">$target</span></span><span> = </span><span><span class="hljs-title function_ invoke__">readlink</span></span><span>(</span><span><span class="hljs-variable">$path</span></span><span>);
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"soft link ကိုညွှန်ပြ:<span class="hljs-subst">$target</span></span></span><span>";
} </span><span><span class="hljs-keyword">elseif</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_dir</span></span><span>(</span><span><span class="hljs-variable">$path</span></span><span>)) {
    </span><span><span class="hljs-comment">// အကယ်. ၎င်းသည်နူးညံ့သောလင့်ခ်မဟုတ်ပါ,ဒါလမ်းညွှန်ဆိုတာကိုဆုံးဖြတ်ပါ</span></span><span>
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$path</span></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 class="hljs-subst">$path</span></span></span><span> 不ဒါဟာလမ်းညွှန်တစ်ခုပါ";
}
</span></span>

ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည်လမ်းကြောင်းသည်ပျော့ပျောင်းသော link တစ်ခုရှိမရှိကို ဦး စွာအတည်ပြုနိုင်သည်။

2 ။ အစစ်အမှန်လမ်းကြောင်းကိုရရန် realappath () ကို သုံးပါ

အခြားနည်းလမ်းတစ်ခုမှာ standard link များကြောင့်ဖြစ်ရတဲ့လမ်းကြောင်း resolution ပြ problem နာကိုဖြေရှင်းပေးနိုင်တဲ့ တည့်တရပ် () function ကိုသုံးဖို့ပါ။ "Realpath to Path to Pather ကိုဖြတ်သန်းခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် Target Path ၏နောက်ဆုံးပေါ်တည်နေရာကိုရနိုင်ပြီး is_dir () ကို တိုက်ရိုက်အသုံးပြုသောအခါပျော့ပျောင်းသောလင့်ခ်များဖြင့်လှည့်ဖြားခြင်းကိုရှောင်ရှားနိုင်သည်။

 <span><span><span class="hljs-variable">$path</span></span><span> = </span><span><span class="hljs-string">'/path/to/directory'</span></span><span>;
</span><span><span class="hljs-variable">$realPath</span></span><span> = </span><span><span class="hljs-title function_ invoke__">realpath</span></span><span>(</span><span><span class="hljs-variable">$path</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$realPath</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span> &amp;&amp; </span><span><span class="hljs-title function_ invoke__">is_dir</span></span><span>(</span><span><span class="hljs-variable">$realPath</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$realPath</span></span></span><span> ခိုင်လုံသော directory ဖြစ်ပါတယ်";
} </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 class="hljs-subst">$path</span></span></span><span> 不ခိုင်လုံသော directory ဖြစ်ပါတယ်";
}
</span></span>

ဤဥပမာတွင် Realpath () သည် နူးညံ့သော link ကိုခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်အမှန်တကယ်လမ်းကြောင်းကိုပြန်ပို့သည်။ နောက်တစ်ခုက soft link များကလမ်းလွဲခြင်းမရှိဘဲ directory ဟုတ်မဟုတ်ဆုံးဖြတ်ရန်ကျွန်ုပ်တို့လုံခြုံစွာအသုံးပြုနိုင်သည်

3 ။ lstat () function ကိုသုံးပါ

LSTAT () သည် stat () နှင့်ဆင်တူသည့်လုပ်ဆောင်မှုတစ်ခုဖြစ်သော်လည်း၎င်းသည်ပျော့ပျောင်းသောလင့်များကိုမလိုက်နာပါ။ ၎င်းသည်နူးညံ့သော link ၏အခြေအနေ၏အခြေအနေသတင်းအချက်အလက်များကိုပြန်ပို့သည်။ နူးညံ့သော link တစ်ခုဖြစ်သည့် link ၏အခြေအနေကိုသင်ရလိုပါက LSTAT () ကိုအကဲဖြတ်ရန်သင်အသုံးပြုနိုင်သည်။

 <span><span><span class="hljs-variable">$path</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__">lstat</span></span><span>(</span><span><span class="hljs-variable">$path</span></span><span>)[</span><span><span class="hljs-string">'mode'</span></span><span>] &amp; </span><span><span class="hljs-number">0170000</span></span><span> === </span><span><span class="hljs-number">0040000</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$path</span></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 class="hljs-subst">$path</span></span></span><span> 不ဒါဟာလမ်းညွှန်တစ်ခုပါ";
}
</span></span>

LSTAT () function ကိုအသုံးပြုခြင်းအားဖြင့်သင်သည်နူးညံ့သော link ၏စီရင်ချက်ကိုပိုမိုတိကျစွာထိန်းချုပ်နိုင်ပြီး link နှင့်ပတ်သက်သောအသေးစိတ်အချက်အလက်များကိုပိုမိုတိကျစွာထိန်းချုပ်နိုင်သည်။

အကျဉ်းချုပ်

PHP တွင် IS_DIR () function သည်လမ်းကြောင်းသည်လမ်းညွှန်တစ်ခုရှိ, မရှိကိုပြောနိုင်သည်။ ဤအထင်မြင်မှားစေသောအနေဖြင့်ကျွန်ုပ်တို့သည် is_link () , realpath () နှင့် lstat () ကဲ့သို့သောလုပ်ဆောင်မှုများကိုနည်းအမျိုးမျိုးဖြင့်ထိရောက်စွာစစ်ဆေးရန်, ၎င်းသည်ကျွန်ုပ်တို့သည်ဖိုင်စနစ်ကိုပိုမိုတိကျစွာလုပ်ဆောင်နိုင်ရန်သေချာစေပြီးနူးညံ့သောလင့်ခ်များကြောင့်အလားအလာရှိသောပြ problems နာများကိုရှောင်ရှားရန်သေချာစေသည်။