လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> MB_Get_info မှတဆင့်ဖိုင်များကို upload လုပ်သည့်အခါစာလုံးများကိုမည်သို့ကိုင်တွယ်ရမည်နည်း

MB_Get_info မှတဆင့်ဖိုင်များကို upload လုပ်သည့်အခါစာလုံးများကိုမည်သို့ကိုင်တွယ်ရမည်နည်း

gitbox 2025-05-11

Clire Set Provals သည်အထူးသဖြင့် ASCII မဟုတ်သောဇာတ်ကောင်များနှင့်ဆက်ဆံရာတွင်ပုံမှန်အားဖြင့်အမှိုက်ပုံများတွင်အမှိုက်များပေါ်လာရန်ဖိုင်တွင် carbled contbles contble တွင် carbled controls ပါဝင်စေသည်။ ဖိုင် encoding ကိုမှန်ကန်စွာလုပ်ဆောင်ရန်သေချာစေရန် PHP သည် developer များဤပြ problem နာကိုဖြေရှင်းရန်ကူညီရန်ကိရိယာများနှင့်နည်းလမ်းအချို့ကိုထောက်ပံ့ပေးသည်။ MB_GET_INFO function မှတဆင့်ဖိုင်များကိုတင်သည့်အခါဤဆောင်းပါးသည်ဤဆောင်းပါးသည်မည်သို့ဖြေရှင်းရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။

1 ။ ဇာတ်ကောင်ကဘာကြောင့်ပြ problem နာက file upload ကိုအကျိုးသက်ရောက်သလဲ။

အသုံးပြုသူတစ် ဦး သည်ဖိုင်တစ်ခုကိုတင်သောအခါဖိုင်အကြောင်းအရာကိုသီးခြားစာလုံးများကိုသိုလှောင်ထားသည့်အရာနှင့်လွှဲပြောင်းသည်။ တင်ထားသောဖိုင်တွင်တရုတ်သို့မဟုတ်အခြား apcii မဟုတ်သောဇာတ်ကောင်များပါ 0 င်ပါက, များသောအားဖြင့် PHP အတွက်ပုံမှန်ဇာတ်ကောင် set သည် ISO-8859-1 ဖြစ်သည်။ သို့သော်၎င်းသည်တရုတ်ပါ 0 င်သောဖိုင်များအတွက်မသင့်တော်ပါ။ ဤအချိန်တွင်ကျွန်ုပ်တို့သည်ဖိုင်၏ဇာတ်ကောင်ကိုရှင်းလင်းစွာ encode လုပ်ရန်နှင့်မှန်ကန်သောပုံစံသို့ပြောင်းရန်လိုအပ်သည်။

2 ။ MB_GEGET_INFO function ကို၏အခန်းကဏ်။

MB_Get_info သည် PHP ၏ Mbstring Extension မှလက်ရှိ Mbstring configuration နှင့်ပတ်သက်သည့်သတင်းအချက်အလက်များကိုပြန်ပို့နိုင်သည့် PHP ၏ Mbstring extension မှပေးသောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ MB_GEGET_INFO function ကိုကျွန်ုပ်တို့အားဆာဗာတွင်တင်ထားသောအက်ခရာ encoding ကိုနားလည်ရန်နှင့်ဖိုင်တင်ခြင်းဆိုင်ရာပြ issues နာများကိုမည်သို့ကိုင်တွယ်ဖြေရှင်းရမည်ကိုဆုံးဖြတ်ရန်ကျွန်ုပ်တို့အားကူညီရန်အသုံးဝင်သောအချက်အလက်များကိုဖြည့်ဆည်းပေးနိုင်သည်။

 mb_get_info();

ဤလုပ်ဆောင်မှုသည်အဓိကအားဖြင့် configuration information, Mbstring ၏အခြား configuration information အပါအ 0 င် configuration information များစွာပါ 0 င်သော Associative ခင်းပစ်ခြင်းစသည်တို့ပါဝင်သည်။

3 ။ ဖိုင်များကို upload လုပ်သည့်အခါပြ problem နာကိုဖြေရှင်းပါ

ဖိုင်များကိုတင်သောအခါကျွန်ုပ်တို့သည်တင်ထားသောတင်ထားသောဖိုင် encoding သည်စနစ်၏ default encoding နှင့်ကိုက်ညီမှုမရှိသောပြ problem နာကိုကျွန်ုပ်တို့ကြုံတွေ့ရလေ့ရှိသည်။ MB_Get_info ဖြင့်ဖိုင်များကိုတင်စဉ်မှန်ကန်သောဇာတ်ကောင် set processing ကိုအသုံးပြုသည်။ ဤတွင်ဘုံဖြေရှင်းချက်တစ်ခုဖြစ်သည်။

  1. လက်ရှိဇာတ်ကောင်သတ်မှတ်ချက်သတင်းအချက်အလက်ရယူပါ

    ဖိုင်ကိုဖွင့်သောအခါ Clait Clait Set Reping ကိုစစ်ဆေးရန် MB_GEGET_INFO function ကိုသုံးပါ။

     $mb_info = mb_get_info();
    echo 'လက်ရှိဇာတ်ကောင်အစုံ: ' . $mb_info['internal_encoding'];
    
  2. မှန်ကန်သောဇာတ်ကောင်အစုံထားပါ

    ဖိုင်၏အမှန်တကယ် encoding ၏အဆိုအရဖိုင်အကြောင်းအရာများကိုပစ်မှတ်ဇာတ်ကောင် set သို့ပြောင်းရန် MB_ConVert_encoding function ကိုသုံးပါ။ ဥပမာအားဖြင့် File အကြောင်းအရာများကို ISO-8859-1 မှ UTF-8 သို့ပြောင်းပါ။

     $uploaded_file_content = file_get_contents($_FILES['file']['tmp_name']);
    $converted_content = mb_convert_encoding($uploaded_file_content, 'UTF-8', 'ISO-8859-1');
    

    ၎င်းသည်တင်ထားသောဖိုင်အမျိုးအစားကိုမှန်ကန်စွာလုပ်ဆောင်ပြီး concled code ကိုရှောင်ရှားကြောင်းသေချာသည်။

  3. တင်ခြင်းမပြုမီဖိုင် encoding စစ်ဆေးပါ

    ဖိုင်တစ်ခုကိုမတင်မီဖိုင်၏ encoding format ကိုရှာဖွေရန် MB_Detect_encoding ကို သုံး. ၎င်းသည်စနစ်မှအသုံးပြုသောစာလုံးနှင့်သဟဇာတဖြစ်အောင်ပြုလုပ်နိုင်သည်။

     $file_encoding = mb_detect_encoding($uploaded_file_content, mb_list_encodings(), true);
    if ($file_encoding !== 'UTF-8') {
        $uploaded_file_content = mb_convert_encoding($uploaded_file_content, 'UTF-8', $file_encoding);
    }
    

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

MB_GEget_info function မှတဆင့်ကျွန်ုပ်တို့သည်ဖိုင်များကိုတင်သည့်အခါစာလုံးအကြီးပြ problem နာကိုကျိုးကြောင်းဆီလျော်စွာကိုင်တွယ်ရန်ဆာဗာပေါ်ရှိလက်ရှိဇာတ်ကောင် encoding settings ကိုရှင်းရှင်းလင်းလင်းနားလည်နိုင်သည်။ ဖိုင်များကိုတင်သည့်အခါဖိုင်များကိုတင်သည့်အခါစာလုံးအစုံ၏ရှေ့နောက်ညီညွတ်မှုကိုသေချာစေရန်အထူးသဖြင့်အထူးအက္ခရာများသို့မဟုတ်ဘာသာစကားမျိုးစုံပါ 0 င်သောအကြောင်းအရာများနှင့်သက်ဆိုင်သောအခါ mb_convert_encoding နှင့် mb_detect_encoding ကဲ့သို့သောလုပ်ဆောင်ချက်များကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် condbled code ပြ problems နာများကိုထိရောက်စွာရှောင်ရှားနိုင်ပြီးတင်ထားသောဖိုင်၏အကြောင်းအရာများကိုမှန်ကန်စွာဖော်ပြနိုင်သည်။