လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> is_executable and getenv functions မှတဆင့်ပတ်ဝန်းကျင် variable ကိုတစ် ဦး သတ်မှတ်ထားသောလမ်းကြောင်း၏ executityity ကိုဘယ်လိုစစ်ဆေးရမလဲ။

is_executable and getenv functions မှတဆင့်ပတ်ဝန်းကျင် variable ကိုတစ် ဦး သတ်မှတ်ထားသောလမ်းကြောင်း၏ executityity ကိုဘယ်လိုစစ်ဆေးရမလဲ။

gitbox 2025-07-17

အထူးသဖြင့်စနစ်နှင့်အပြန်အလှန်ဆက်သွယ်သော PHP စီမံကိန်းများအတွက်အထူးသဖြင့် PHP စီမံကိန်းများတွင် executable file တစ်ခုရှိမရှိစစ်ဆေးရန်လိုအပ်သည်။ PHP သည်ဤလုပ်ငန်းကိုပြီးမြောက် အောင်မြင်စေရန် အတွက် built-in functions အချို့ကိုထောက်ပံ့ပေးသည်

1 ။ ပတ်ဝန်းကျင် variable တွေကိုနှင့် executable ဖိုင်များ

ပတ် 0 န်းကျင်ဆိုင်ရာ variable များကို operating system တွင်အသုံးပြုသော configuration information များအပါအ 0 င် System Paths ( MATH ကဲ့သို့သောလမ်းကြောင်းများ) ကိုရှာဖွေရန်အသုံးပြုသော configuration information များအပါအ 0 င်သည့် configuration information များကိုသိမ်းဆည်းရန်အသုံးပြုသည်။ executable file တစ်ခုသို့လမ်းကြောင်းအမှတ်တစ်ခုရှိ, ရှိမရှိစစ်ဆေးရန် GetNV function ကိုကျွန်ုပ်တို့အသုံးပြုနိုင်ပြီး, ပတ်ဝန်းကျင် variable များတွင်သတင်းအချက်အလက်ရယူရန်အတွက်ဖိုင်၏ exurrasity ကို is_executable function မှတဆင့်တရားစီရင်နိုင်သည်။

2 ။ getenv function ကိုအသုံးပြုခြင်း

GetEnV function ကိုပတ်ဝန်းကျင် variable ၏တန်ဖိုးကိုရရှိရန်နှင့်သတ်မှတ်ထားသောပတ်ဝန်းကျင် variable ၏တန်ဖိုးကိုပြန်ပို့ရန်အသုံးပြုသည်။ အကယ် . ပတ်ဝန်းကျင် variable ကိုတည်ရှိပြီးတရားဝင်သည်ဆိုပါက GetNV သည် ပတ်ဝန်းကျင် variable ၏တန်ဖိုးကိုပြန်ပို့သည်။

 <span><span><span class="hljs-variable">$path</span></span><span> = </span><span><span class="hljs-title function_ invoke__">getenv</span></span><span>(</span><span><span class="hljs-string">'PATH'</span></span><span>);  </span><span><span class="hljs-comment">// ရယူ PATH ပတ်ဝန်းကျင် variable ကို၏တန်ဖိုး</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$path</span></span><span>;
</span></span>

3 ။ is_executable function ကိုအသုံးပြုခြင်း

is_executable function ကိုပေးထားသောလမ်းကြောင်းနှင့်ဖိုင်တစ်ခုနှင့်အတူဖိုင်ရှိမရှိရှာဖွေရန်အသုံးပြုသည်။ ဤလုပ်ဆောင်မှုသည် boolean value ကို ပြန်ပို့သည်, လမ်းကြောင်းမှညွှန်ပြသည့်ဖိုင်သည် executable ဖြစ်လျှင်,

 <span><span><span class="hljs-variable">$file</span></span><span> = </span><span><span class="hljs-string">'/usr/bin/php'</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_executable</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-string">"<span class="hljs-subst">$file</span></span></span><span> ၎င်းသည် executable file တစ်ခုဖြစ်သည်。";
} </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">$file</span></span></span><span> 不၎င်းသည် executable file တစ်ခုဖြစ်သည်。";
}
</span></span>

4 ။ executabliet ကိုစစ်ဆေးရန် GetEnV နှင့် is_executable ကို သုံးပါ

ပတ်ဝန်းကျင် variable တစ်ခု၏ပတ် 0 န်းကျင် variable တစ်ခု (ဥပမာ - $ Path ) သည် executable file တစ်ခုမှအချက်များရှိ, မရှိကိုစစ်ဆေးရန်လိုအပ်သည့်အခါ Explenv မှ လမ်းကြောင်းတစ်ခုချင်းစီကို အသုံးပြု. is_executable ကို သုံးနိုင်သည်။

ဤတွင်ဤလုပ်ဆောင်ချက်နှစ်ခုကို အသုံးပြု. သတ်မှတ်ထားသောလမ်းကြောင်းတစ်ခု၏ exitionable ကို ဒေါ်လာ ၏လုပ်ဆောင်မှုကိုစစ်ဆေးရန်ဤလုပ်ဆောင်ချက်နှစ်ခုကိုမည်သို့အသုံးပြုရမည်ကိုပြသသည့်ရိုးရှင်းသောဥပမာတစ်ခုရှိသည်။

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// ရယူ PATH ပတ်ဝန်းကျင် variable တွေကို</span></span><span>
</span><span><span class="hljs-variable">$path</span></span><span> = </span><span><span class="hljs-title function_ invoke__">getenv</span></span><span>(</span><span><span class="hljs-string">'PATH'</span></span><span>);

</span><span><span class="hljs-comment">// သေတမ်းစာ PATH Path Separator အားဖြင့် arrays သို့ခွဲ</span></span><span>
</span><span><span class="hljs-variable">$paths</span></span><span> = </span><span><span class="hljs-title function_ invoke__">explode</span></span><span>(PATH_SEPARATOR, </span><span><span class="hljs-variable">$path</span></span><span>);

</span><span><span class="hljs-comment">// ကျနော်တို့ command ကိုစစ်ဆေးချင်တယ်ဆိုပါစို့(ကဲ့သို့ php)လုပ်ဆောင်မှု</span></span><span>
</span><span><span class="hljs-variable">$command</span></span><span> = </span><span><span class="hljs-string">'php'</span></span><span>;

</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$paths</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$dir</span></span><span>) {
    </span><span><span class="hljs-comment">// ပြည့်စုံသော command လမ်းကြောင်းကိုထုတ်လုပ်ပါ</span></span><span>
    </span><span><span class="hljs-variable">$fullPath</span></span><span> = </span><span><span class="hljs-variable">$dir</span></span><span> . DIRECTORY_SEPARATOR . </span><span><span class="hljs-variable">$command</span></span><span>;

    </span><span><span class="hljs-comment">// လမ်းကြောင်း executable ရှိမရှိစစ်ဆေးပါ</span></span><span>
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_executable</span></span><span>(</span><span><span class="hljs-variable">$fullPath</span></span><span>)) {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အမိန့် <span class="hljs-subst">$command</span></span></span><span> executable လမ်းကြောင်း: </span><span><span class="hljs-subst">$fullPath</span></span><span>";
        </span><span><span class="hljs-keyword">break</span></span><span>;  </span><span><span class="hljs-comment">// သင်ရှာဖွေပြီးနောက်ကွင်းဆက်ကိုရပ်တန့်နိုင်သည်</span></span><span>
    }
}

</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

အပေါ်ကဥပမာမှာ GetNV ('Path') သည် ပတ်ဝန်းကျင် variable viable vieable $ လမ်းကြောင်း ၏တန်ဖိုးကိုရရှိသည်။ ထို့နောက်ပရိုဂရမ်ကွင်းသည် ဒေါ်လာ လမ်းကြောင်းတစ်ခုချင်းစီကိုစစ်ဆေးရန်၎င်းကို command လမ်းကြောင်းအပြည့်အ 0 ထည့်သွင်းပြီးလမ်းကြောင်းသည် is_executable function ကို ဖြတ်. executable မဟုတ်ဆုံးဖြတ်သည်။ အကယ်. executable လမ်းကြောင်းကိုရှာတွေ့ပါကရလဒ်မှာရလဒ်ဖြစ်ပြီးကွင်းဆက်ကိုရပ်တန့်ထားသည်။

5 ။ အမှားအယွင်းများကိုကိုင်တွယ်ခြင်းနှင့်ကြံ့ခိုင်မှုကိုတိုးမြှင့်

Code ၏ကြံ့ခိုင်မှုကိုတိုးတက်စေရန်, ပတ်ဝန်းကျင် variable ကိုဗလာရှိမရှိစစ်ဆေးခြင်းသို့မဟုတ်လမ်းကြောင်းသည်မှန်ကန်သောလမ်းညွှန်ဖြစ်ကြောင်းစစ်ဆေးခြင်းကဲ့သို့သောအပိုဆောင်းအမှားကိုင်တွယ်ပုံအချို့ကိုသင်ထည့်နိုင်သည်။

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$path</span></span><span> = </span><span><span class="hljs-title function_ invoke__">getenv</span></span><span>(</span><span><span class="hljs-string">'PATH'</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$path</span></span><span> === </span><span><span class="hljs-literal">false</span></span><span>) {
    </span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">'无法ရယူ PATH ပတ်ဝန်းကျင် variable တွေကို'</span></span><span>);
}

</span><span><span class="hljs-variable">$paths</span></span><span> = </span><span><span class="hljs-title function_ invoke__">explode</span></span><span>(PATH_SEPARATOR, </span><span><span class="hljs-variable">$path</span></span><span>);
</span><span><span class="hljs-variable">$command</span></span><span> = </span><span><span class="hljs-string">'php'</span></span><span>;
</span><span><span class="hljs-variable">$found</span></span><span> = </span><span><span class="hljs-literal">false</span></span><span>;

</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$paths</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$dir</span></span><span>) {
    </span><span><span class="hljs-variable">$fullPath</span></span><span> = </span><span><span class="hljs-variable">$dir</span></span><span> . DIRECTORY_SEPARATOR . </span><span><span class="hljs-variable">$command</span></span><span>;
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_executable</span></span><span>(</span><span><span class="hljs-variable">$fullPath</span></span><span>)) {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အမိန့် <span class="hljs-subst">$command</span></span></span><span> executable လမ်းကြောင်း: </span><span><span class="hljs-subst">$fullPath</span></span><span>";
        </span><span><span class="hljs-variable">$found</span></span><span> = </span><span><span class="hljs-literal">true</span></span><span>;
        </span><span><span class="hljs-keyword">break</span></span><span>;
    }
}

</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-variable">$found</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"未找到可执行的အမိန့် <span class="hljs-subst">$command</span></span></span><span>";
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

ပတ် 0 န်းကျင် variable ကိုပြန်လည်ထုတ်ယူ။ မရပါကဤဗားရှင်းသည် Execution Exaction လုပ်ပြီး executeable file မရှိပါ။

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

GetEnV နှင့် is_executable function များကိုအသုံးပြုခြင်းအားဖြင့် developer များသည်ပတ်ဝန်းကျင်ရှိသည့်ပတ် 0 န်းကျင်ရှိအခြေအနေအမျိုးမျိုးတွင် executable file ကိုညွှန်ပြခြင်းရှိမရှိကိုအလွယ်တကူစစ်ဆေးနိုင်သည်။ ဤနည်းလမ်းသည်စနစ်ရှိအချို့သော command များကိုရရှိနိုင်ပါသလား,

  • သက်ဆိုင်သောတက်(ဂ်)များ:

    is_executable