File အမျိုးအစားရှာဖွေတွေ့ရှိမှုအတွက် Finfo ကို အသုံးပြုသောအခါ PHP သည် finfo_open () မှတစ်ဆင့်အရင်းအမြစ်စီးဆင်းမှုကိုဖွင့်လှစ်ထားသည်။ finfo_open () finfo_close () သည် ဤအရင်းအမြစ်ကိုထုတ်လွှင့်နေစဉ်ဖိုင်လက်ကိုင်တစ်ခုဖွင့်ခြင်းနှင့်ဆင်တူသည်။ finfo_close () ကိုမခေါ်ပါက PHP သည်သက်ဆိုင်ရာအရင်းအမြစ်များကိုထုတ်လွှတ်နိုင်လိမ့်မည်မဟုတ်ချေ, အရင်းအမြစ်ယိုစိမ့်မှုဖြစ်စေသည်။
PHP သည် Runtime တွင်ပွင့်လင်းသောဖိုင်သတင်းအချက်အလက်စီးဆင်းမှုကိုလုပ်ဆောင်ရန် Memory အရင်းအမြစ်များကိုခွဲဝေချထားပေးရန်လိုအပ်သည်။ သငျသညျ finfo_close () ကိုခေါ်ရန်မေ့လျော့ပါကဤအရင်းအမြစ်များကိုအချိန်မီပြန်လွတ်လာလိမ့်မည်မဟုတ်, မှတ်ဉာဏ်ကိုစဉ်ဆက်မပြတ်သိမ်းပိုက်ခံရသည်။ အထူးသဖြင့်မြင့်မားသော load applications များ၌ finfo_open () နှင့် finfo_file) ကဲ့သို့သောလုပ်ဆောင်မှုများကိုအဆက်မပြတ်တောင်းဆိုသည့်အတိုင်း, မကာကွယ်နိုင်သည့်အရင်းအမြစ်များသည်တဖြည်းဖြည်းစုဝေးလာပြီး,
Finfo_open () ခေါ်ဆိုမှုတစ်ခုစီသည်ဖိုင်လက်ကိုင်ကိုအသုံးပြုသည်။ အကယ်. Finfo_Close () ကို လက်ကိုင်ကိုထုတ်ရန်မခေါ်ပါက PHP သည်ဤအရင်းအမြစ်များကိုပြန်လည်အသုံးမပြုပါ။ ဖိုင်အမျိုးအစားများသည်အကန့်အသတ်များဖြစ်သည်။ လက်ကိုင်များစွာကိုထုတ်ပြန်ခြင်းမရှိပါကဖိုင်အမျိုးအစားများ (ဥပမာဖိုင်များ, ဒေတာဘေ့စ်ဆက်သွယ်မှုစသဖြင့်) ဖိုင်များမလိုအပ်သည့်အခြားလုပ်ဆောင်မှုများသည်စနစ်တစ်ခုလုံးတည်ငြိမ်မှုကိုထိခိုက်နိုင်သည်။
Multi-Threaded သို့မဟုတ် Partfurencencencencencencencencencencencencencencencencencencencencencencencencencencencencencencencencencencencencencencencencencencencens ည့်သည်ကိုခေါ်ရန် Finfo_close () ကိုမေ့ခြင်းသည်စနစ်၏အရင်းအမြစ်ခွဲဝေချထားပေးမှုကိုပိုမိုပြင်းထန်လာစေရန်ဖြစ်စေနိုင်သည်။ တောင်းဆိုမှုများစွာကိုတစ်ချိန်တည်းတွင်လျှောက်လွှာများ 0 င်ရောက်သည့်အခါအရင်းအမြစ်ယိုစိမ့်မှုသည်တောင်းဆိုမှုအသစ်များကိုပုံမှန်လုပ်ဆောင်ခြင်းကိုတားဆီးနိုင်သည်။
uncleted file information အမြောက်အများစီးဆင်းနေသောအရင်းအမြစ်များကိုစီးဆင်းနေသောအရင်းအမြစ်များကိုစီးဆင်းသောအခါအခြားစစ်ဆင်ရေးများအတွက်လိုအပ်သောအရင်းအမြစ်များကို "သော့ခတ်" ခြင်းသို့မဟုတ် "ကုန်ခန်းခြင်း" ဖြစ်နိုင်သည်။ ဤပြိုင်ဆိုင်မှုသည်အခြားပရိုဂရမ်များသို့မဟုတ် scripts များကိုချောချောမွေ့မွေ့လုပ်ဆောင်နိုင်ရန်ပျက်ကွက်စေနိုင်သည်။
finfo_close ဟု ခေါ်ရန်မေ့နေသည့်စွမ်းဆောင်ရည်ပြ problems နာများကိုရှောင်ရှားနိုင်ရန်အတွက်အောက်ပါအစီအမံများကိုပြုလုပ်နိုင်သည်။
အရေးအကြီးဆုံးအချက်က Finfo နှင့် သက်ဆိုင်သောလုပ်ဆောင်မှုကိုအချိန်တိုင်းအကြိမ်အသုံးပြုပြီးနောက်ချက်ချင်းပင် finfo_close () ကို ချက်ချင်းခေါ်ရန်ဖြစ်သည်။ ၎င်းသည်အရင်းအမြစ်ယိုစိမ့်မှုများကိုရှောင်ရှားရန်တိုက်ရိုက်နှင့်ထိရောက်သောနည်းလမ်းဖြစ်သည်။ Code တွင်အောက်ပါနည်းလမ်းကိုအသုံးပြုနိုင်သည်။
<span><span><span class="hljs-variable">$finfo</span></span><span> = </span><span><span class="hljs-title function_ invoke__">finfo_open</span></span><span>(FILEINFO_MIME_TYPE); </span><span><span class="hljs-comment">// ဖွင့်လှစ်finfoပစ္စည်းအင်းအား</span></span><span>
</span><span><span class="hljs-variable">$mimeType</span></span><span> = </span><span><span class="hljs-title function_ invoke__">finfo_file</span></span><span>(</span><span><span class="hljs-variable">$finfo</span></span><span>, </span><span><span class="hljs-string">'example.txt'</span></span><span>); </span><span><span class="hljs-comment">// ဖိုင်ကိုရယူပါMIMEပုံနှိပ်စာ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">finfo_close</span></span><span>(</span><span><span class="hljs-variable">$finfo</span></span><span>); </span><span><span class="hljs-comment">// ရုပ်သိမ်းခြင်းfinfoပစ္စည်းအင်းအား</span></span><span>
</span></span>အချို့ဖြစ်ရပ်များတွင် developer များသည် PHP ၏အလိုအလျောက်အမှိုက်သရိုက်စုဆောင်းမှုယန္တရားကိုအသုံးမပြုသည့်အခါအရာဝတ်ထုများ၏အရင်းအမြစ်များကိုပြန်လည်အသုံးချနိုင်ရန်အတွက်နည်းလမ်းများမြှင့်တင်နိုင်သည်။ ဥပမာအားဖြင့်, သင်သည် Finfo အရင်းအမြစ်ကိုအတန်းသို့စာသင်ခန်းတစ်ခုထဲသို့ထည့်ပြီး Finfo_Close () ကို Clickfo_Close () ကိုဖြတ်တောက်ခြင်းဟုခေါ်ဆိုနိုင်သည်။
<span><span><span class="hljs-class"><span class="hljs-keyword">class</span></span></span><span> </span><span><span class="hljs-title">FileInfoHandler</span></span><span> {
</span><span><span class="hljs-keyword">private</span></span><span> </span><span><span class="hljs-variable">$finfo</span></span><span>;
</span><span><span class="hljs-keyword">public</span></span><span> </span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">__construct</span></span><span>(</span><span><span class="hljs-params"></span></span><span>) {
</span><span><span class="hljs-variable language_">$this</span></span><span>->finfo = </span><span><span class="hljs-title function_ invoke__">finfo_open</span></span><span>(FILEINFO_MIME_TYPE);
}
</span><span><span class="hljs-keyword">public</span></span><span> </span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">getMimeType</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$filePath</span></span></span><span>) {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">finfo_file</span></span><span>(</span><span><span class="hljs-variable">$this</span></span><span>->finfo, </span><span><span class="hljs-variable">$filePath</span></span><span>);
}
</span><span><span class="hljs-keyword">public</span></span><span> </span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">__destruct</span></span><span>(</span><span><span class="hljs-params"></span></span><span>) {
</span><span><span class="hljs-title function_ invoke__">finfo_close</span></span><span>(</span><span><span class="hljs-variable">$this</span></span><span>->finfo); </span><span><span class="hljs-comment">// 在对象销毁时ရုပ်သိမ်းခြင်းပစ္စည်းအင်းအား</span></span><span>
}
}
</span></span>Code ကိုပြန်လည်သုံးသပ်ခြင်းနှင့်စွမ်းဆောင်ရည်စစ်ဆေးခြင်းကိုပြုလုပ်သောအခါအထူးသဖြင့်အသုံးအများဆုံးအရင်းအမြစ်များအတွက်, unclosed file streams သို့မဟုတ် database connections များအတွက်ပုံမှန်စစ်ဆေးပါ။ အလားအလာရှိသောပြ problems နာများကို static ခွဲခြမ်းစိတ်ဖြာမှုကိရိယာများသို့မဟုတ်ပုံမှန်ကုဒ်အရည်အသွေးစစ်ဆေးမှုများကိုအသုံးပြုခြင်းအားဖြင့်ထိရောက်စွာရှာဖွေတွေ့ရှိနိုင်သည်။
Finfo ကဲ့သို့သောလုပ်ဆောင်ချက်များကိုအသုံးပြုသောလုပ်ဆောင်ချက်များသည်အရင်းအမြစ်စီမံခန့်ခွဲမှုလိုအပ်သည့်အခါ Try-catch-studention ကို အသုံးပြု. အရင်းအမြစ်များကိုမည်သည့်နေရာတွင်မဆိုလွတ်မြောက်စေသည်ဟုသေချာစေသည်။ ချွင်းချက်တစ်ခုအနေဖြင့် နောက်ဆုံးတွင် Finfo_Close () ကို နောက်ဆုံးတွင်လုပ်ထားဆဲဖြစ်သည်။
<span><span><span class="hljs-keyword">try</span></span><span> {
</span><span><span class="hljs-variable">$finfo</span></span><span> = </span><span><span class="hljs-title function_ invoke__">finfo_open</span></span><span>(FILEINFO_MIME_TYPE);
</span><span><span class="hljs-variable">$mimeType</span></span><span> = </span><span><span class="hljs-title function_ invoke__">finfo_file</span></span><span>(</span><span><span class="hljs-variable">$finfo</span></span><span>, </span><span><span class="hljs-string">'example.txt'</span></span><span>);
} </span><span><span class="hljs-keyword">catch</span></span><span> (</span><span><span class="hljs-built_in">Exception</span></span><span> </span><span><span class="hljs-variable">$e</span></span><span>) {
</span><span><span class="hljs-comment">// ခြွင်းချက်ကိုင်တွယ်</span></span><span>
} </span><span><span class="hljs-keyword">finally</span></span><span> {
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$finfo</span></span><span>) {
</span><span><span class="hljs-title function_ invoke__">finfo_close</span></span><span>(</span><span><span class="hljs-variable">$finfo</span></span><span>); </span><span><span class="hljs-comment">// 确保ပစ္စည်းအင်းအား被ရုပ်သိမ်းခြင်း</span></span><span>
}
}
</span></span>finfo_close () function ကိုခေါ်ရန်မေ့ခြင်းသည်မိုက်မဲသောအမှားတစ်ခုဖြစ်ပြီး၎င်းသည်လျှောက်လွှာ၏စွမ်းဆောင်ရည်နှင့်တည်ငြိမ်မှုအပေါ်ကြီးမားသောသက်ရောက်မှုရှိနိုင်သည်။ ကောင်းမွန်သောသယံဇာတစီမံခန့်ခွဲမှုအလေ့အထများကိုထိန်းသိမ်းထားခြင်းဖြင့်အရင်းအမြစ်များကိုအလိုအလျောက်ထုတ်ယူခြင်းအားဖြင့်အရင်းအမြစ်အသုံးပြုမှုကို code တွင်ပုံမှန်အားဖြင့်ပုံမှန်အားဖြင့်ပုံမှန်အားဖြင့်ပုံမှန်အားဖြင့်စစ်ဆေးခြင်းနှင့်စိတ်ဆင်းရဲမှုဆိုင်ရာအမှားအယွင်းများကို အသုံးပြု. developer များက PHP application များ၏စွမ်းဆောင်ရည်နှင့်ယုံကြည်စိတ်ချရမှုတိုးတက်အောင်ပြုလုပ်နိုင်သည်။