ဖွံ့ဖြိုးရေးစဉ်အတွင်းကျွန်ုပ်တို့သည်အထူးသဖြင့်ဖိုင်တင်ခြင်း, ဒေါင်းလုပ်များသို့မဟုတ်ဖိုင်စစ်ဆေးခြင်းကိုကိုင်တွယ်သောအခါဖိုင်၏ MIME အမျိုးအစားကိုကျွန်ုပ်တို့မကြာခဏရယူရန်လိုအပ်သည်။ PHP သည် MIME အမျိုးအစားများကို MIE အမျိုးအစားများရရှိရန်အတွက်အသုံးများသောလုပ်ဆောင်ချက်များကိုဖော်ထုတ်နိုင်ပြီး ( finfo classies ) (အများအားဖြင့်အသုံးပြုသည်) ။ ဤလုပ်ဆောင်ချက်နှစ်ခု၏ရည်ရွယ်ချက်မှာအတူတူပင်ဖြစ်သော်လည်း developer များစွာကအမှန်တကယ်အသုံးပြုမှုကိုပိုမိုအသုံးပြုရန်အကြံပြုသည် ။ ထို့နောက်ကျွန်ုပ်တို့သည်ဤနှစ်ခုကိုအသေးစိတ်ဖော်ပြရန်နှင့် Finfo ကို ပိုမိုလေးစားကြောင်းအဘယ်ကြောင့်ဆန်းစစ်ပါလိမ့်မည်။
Mime To View ကိုရယူရန် PHP တွင် MIME_Content_type () သည် PHP တွင်အစောပိုင်း function ဖြစ်သည်။ MIME အမျိုးအစားကိုဖိုင်၏ extension ဖြင့်ခန့်မှန်းခြင်းသို့မဟုတ် MIME အမျိုးအစားကိုခေါင်းစဉ်တပ်ထားသောသတင်းအချက်အလက် (မှော် Bytes) မှ MIME အမျိုးအစားများကိုတရားစီရင်သည်။
<span><span><span class="hljs-variable">$mime</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mime_content_type</span></span><span>(</span><span><span class="hljs-string">'example.jpg'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$mime</span></span><span>;
</span></span>
ဖိုင်များနှင့်အလုပ်လုပ်စဉ်ဤလုပ်ဆောင်မှုသည်အသုံးပြုရန်အလွန်ရိုးရှင်းပြီးအထူးသဖြင့်အစွန်းအချို့ကိုကိုင်တွယ်ဖြေရှင်းသည့်အခါအလားအလာရှိသောပြ problems နာအချို့ရှိသည်။
ခေတ်နောက်ကျနေသောအကောင်အထည်ဖော်မှု - Mime_Content_type () သည်အချို့သောကိစ္စရပ်များတွင်အမြဲတမ်းတိကျမှုမရှိပါ။ ယင်း၏အကောင်အထည်ဖော်မှုသည်စနစ်ပေါ်ရှိဖိုင်သိုလှောင်ရုံပေါ်တွင်မူတည်သည်။
သာမန်သော MIME အမျိုးအစားများကိုသာထောက်ပံ့သည် - Mime_Content_type () ကို အချို့သောအဆန်းဖိုင်အမျိုးအစားများသို့မဟုတ်ဖိုင်အသစ်များအတွက်မှန်ကန်စွာအသိအမှတ်မပြုနိုင်ပါ။
အလုံအလောက်ပြောင်းလွယ်ပြင်လွယ်မဟုတ် - ဤလုပ်ဆောင်ချက်သည်ပြောင်းလွယ်ပြင်လွယ် MIME အမျိုးအစားစစ်ဆေးခြင်းနှင့်တိုးချဲ့ခြင်းကိုမထောက်ပံ့ပါ။
Finfo_File () သည် PHP ၏ Finfo extension ကို MIME အမျိုးအစားကိုပြန်ပို့ရန် PHP ၏ Finfo Extension မှပေးသော function တစ်ခုဖြစ်သည်။ Mime_Content_type () မတူဘဲ Finfo သည် Libmagic စာကြည့်တိုက်ကိုအသုံးပြုသည်။ ၎င်းသည်ဖိုင်၏ extensions သို့မဟုတ် magic bytes များကိုမှီခိုမည့်ဖိုင်၏အမှန်တကယ်အကြောင်းအရာကိုဖတ်ရှုခြင်းအားဖြင့် MIME အမျိုးအစားများကိုခွဲခြားသိမြင်နိုင်သည်။
<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">// ဖွင့်လှစ် MIME စုံစမ်းမှုအမျိုးအစား</span></span><span>
</span><span><span class="hljs-variable">$mime</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.jpg'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$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>
Finfo_File () သည် အဓိကအားဖြင့်အဓိကအားဖြင့်အင်အားကြီးမားသောလုပ်ဆောင်မှုများကိုပေးသည်။
ပိုမိုမြင့်မားသောတိကျမှု - Finfo သည် Libmagic စာကြည့်တိုက်ကိုအသုံးပြုသည်။
နောက်ထပ်အမျိုးအစားများကိုထောက်ပံ့သည် - ၎င်းသည်အဆန်းမဟုတ်သောဖိုင်အမျိုးအစားများအပါအ 0 င်ဖိုင်အမျိုးအစားအမျိုးမျိုးကိုခွဲခြားနိုင်သည်။
ပြောင်းလွယ်ပြင်လွယ် - Finfo သည် ရွေးချယ်စရာများကိုပိုမိုထောက်ပံ့သည်။ developer များက developer များ (MIME အမျိုးအစားများ, ဖိုင်အမျိုးအစားများ, ဖိုင်များ, encoding စသဖြင့်) ကွဲပြားခြားနားသောဖိုင်မှတ်တမ်းများကိုသတ်မှတ်နိုင်သည်။
Cross-Platform - Finfo ၏ Libmagic သည် Cross-platform ဖြစ်ပြီးအမျိုးမျိုးသော operating systems တွင်ရှေ့နောက်ညီညွတ်မှုကိုထိန်းသိမ်းနိုင်သည်။
ဤတွင် Myime_Content_type () နှင့် finfo_file () ကိုအဓိကအချက်များ၌နှိုင်းယှဉ်သည်။
သီးခြားထင်ရှားသော | Mime_Content_type () | finfo_file () |
---|---|---|
အကောင်အထည်ဖော်မှုနည်းလမ်း | ဖိုင် extension များသို့မဟုတ်ဖိုင်များအပေါ် အခြေခံ. Magic Bytes | ဖိုင်အမျိုးအစားပေါ်တွင် အခြေခံ. MIME အမျိုးအစားများကိုဖော်ထုတ်ရန် Libmagic စာကြည့်တိုက်ကိုသုံးပါ |
ဟုတ်မှန်ရေး | အတော်လေးနိမ့်, အလွယ်တကူတိုးချဲ့ခြင်းဖြင့်ထိခိုက် | မြင့်မားသောဖိုင်ပုံစံမျိုးစုံကိုတိကျစွာခွဲခြားနိုင် |
ပြောင်းလွယ်ပြင်လွယ် | စိတ်ကြိုက်ပြုပြင်ခြင်းရွေးချယ်စရာများကိုမထောက်ပံ့ပါ | MIME အမျိုးအစား, encoding စသည့်ရွေးချယ်စရာများစွာကိုထောက်ပံ့သည်။ |
ပလက်ဖောင်းသွယ်ဝိုက်ခြင်း | စနစ် - မှီခို MIME အမျိုးအစားဒေတာဘေ့စ် | တစ် ဦး စည်းလုံး libmagic စာကြည့်တိုက်ကိုသုံးပြီး Cross-platform |
ပေါရာဏပြ issues နာများ | ဟုတ်ကဲ့, ဒါဟာခေတ်မမီတော့အဖြစ်မှတ်သားထားသည် | ပြ problem နာမရှိပါ, ခေတ်သစ် PHP ဖွံ့ဖြိုးတိုးတက်မှုအတွက်အကြံပြုထားသောအဖြေတစ်ခုဖြစ်သည် |
MIMA အမျိုးအစားတိကျစွာရရှိသောနေရာများတွင် developer များသည် finfo_file () ကို အသုံးပြုခြင်းကို ဦး စားပေးသင့်သည်။ အထူးသဖြင့်အောက်ပါအခြေအနေများတွင် finfo_file () သည်အထူးအရေးကြီးသည်။
အလွန်တိကျသောဖိုင်အမျိုးအစားဆိုင်ရာတရားစီရင်ခြင်း - ဥပမာ, ရုပ်ပုံများ, ဗွီဒီယိုများနှင့်အခြားဖိုင်များတင်ခြင်းကို အသုံးပြု. ဖောင်းပွိုကိုအသုံးပြုသောအခါ finfo ကို အသုံးပြု. ဖိုင်အမျိုးအစားသည်ပိုမိုတိကျမှန်ကန်မှုရှိစေရန်သေချာစေသည်။
အဆန်းဖိုင်ပုံစံများကိုကိုင်တွယ်ပါ ။ အကယ်. သင်သည်လူကြိုက်များသောဖိုင်အမျိုးအစားအမျိုးများကိုကိုင်တွယ်ဖြေရှင်းရန်လိုအပ်ပါက Finfo သည် ပိုမိုကောင်းမွန်သောအထောက်အပံ့ပေးနိုင်သည်။
Cross-platform application : သင်ဖွံ့ဖြိုးသည့် application သည်မတူညီသော operating system များတွင် run ရန်လိုအပ်ပါက Finfo သည် ပဉ္စမပလက်ဖောင်းပေါ်တွင်ရှေ့နောက်ညီညွတ်မှုကိုသေချာစေနိုင်သည်။
Mime_Content_type () သည် PHP တွင်အတော်လေးရိုးရှင်းသော function တစ်ခုဖြစ်သည်။ အဘယ်ကြောင့်ဆိုသော်အချို့သောကိစ္စရပ်များတွင်၎င်းသည်ခေတ်နောက်ကျပြီးတိကျမှုမရှိနိုင်သည့်အတွက် developer များသည် MIME အမျိုးအစားများရရှိရန်အတွက် develfers () ကို အသုံးပြုရန်အကြံပြုသည်။ Finfo_File () သည်ပိုမိုမြင့်မားသောတိကျမှန်ကန်မှု, ပြောင်းလွယ်ပြင်လွယ်မှုနှင့်ဖိုင်အမျိုးအစားများပိုမိုများပြားလာသည်။
အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ပိုမိုအားကောင်းသည့် finfo_file () ကို ရွေးချယ်ခြင်းသည်အထူးသဖြင့်ဖိုင်တင်ခြင်းနှင့်ဖိုင်စစ်ဆေးခြင်းကိုကိုင်တွယ်သည့်အခါ MISIC အမျိုးအစား၏တရားစီရင်ခြင်းအမှားများကြောင့်ဖြစ်သောအလားအလာပြ problems နာများကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။