လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Bom header ကြောင့်ဖြစ်ပေါ်လာသော header ၏လျှို့ဝှက်ပြ problem နာကိုလျစ်လျူရှုပါ

Bom header ကြောင့်ဖြစ်ပေါ်လာသော header ၏လျှို့ဝှက်ပြ problem နာကိုလျစ်လျူရှုပါ

M66 2025-05-28

PHP ပရိုဂရမ်တွင်ကျွန်ုပ်တို့သည် header () function သည်အလုပ်မလုပ်သည့်အခြေအနေများနှင့်မကြာခဏကြုံတွေ့ရလေ့ရှိသည်။ header () function ကိုများသောအားဖြင့် function ကိုများသောအားဖြင့် Process output မတိုင်မီ hear output များကို pract output မတိုင်မီသို့မဟုတ်အသုံးပြုသူကိုပြန်ညွှန်းခြင်းစသည့်ထုတ်လုပ်မှုကိုပေးပို့ရန်အသုံးပြုသည်။ သို့သော် developer များစွာသည်ရှုပ်ထွေးမှုဖြစ်ပေါ်စေသော ခေါင်းစီးကို အသုံးပြုသောအခါရုတ်တရက်ပျက်ကွက်မှုများနှင့်ကြုံတွေ့ရနိုင်သည်။ ဒါကြောင့် header () function ကိုဘာကြောင့်ရုတ်တရက်ပျက်ကွက်တာလဲ။ သင်ဤဝှက်ထားသောပြ problem နာကိုလျစ်လျူရှုထားသည့် (byte အမိန့်အမှတ်အသား) ကိုသင်လျစ်လျူရှုခြင်းဖြစ်နိုင်သည်။

Bom header ဆိုတာဘာလဲ။

Bom (Byte အမှာစာအမှတ်အသား) သည်ယူနီကုတ်စာဝှက်ခြင်းအတွက်အထူးအမှတ်အသားသည်စာသားဖိုင်များ၏ byte အမိန့်ကိုညွှန်ပြသည့်အထူးအမှတ်အသားဖြစ်သည်။ များသောအားဖြင့်၎င်းတွင်ဖိုင်အစတွင်မမြင်ရသောဇာတ်ကောင်အချို့ပါဝင်သည်။ BOM header သည်သာမန်စာသားဖိုင်များကိုဖတ်ရှုခြင်းအပေါ်အကျိုးသက်ရောက်မှုမရှိပါက PHP ၏ header () function အပေါ်များစွာအကျိုးသက်ရောက်သည်။

PHP တွင် header () function ကိုမည်သည့် output မတိုင်မီခေါ်ယူရမည်။ တစ်နည်းပြောရလျှင် header (HTML tags များ, နေရာများ, လိုင်းများ, လိုင်းများ, BOM header သည်အမှန်တကယ်တွင်ဖိုင်၏အစအ ဦး ၏အစိတ်အပိုင်းတစ်ခုဖြစ်ပြီး၎င်းသည်ဖိုင်များ၏ရှေ့မှောက်၌မမြင်ရသော bytes ကိုထည့်သွင်းထားသည်။ သင်၏ PHP ဖိုင်သည် UTF-8 encoded နှင့် Bom headers များပါ 0 င်ပါ က HTTP တုန့်ပြန်မှုခေါင်းစီးကိုတစ်စိတ်တစ်ပိုင်းပေးပို့သောကြောင့်ဤမမြင်ရသောဇာတ်ကောင်များကို PHP output ကိုအလုပ်မလုပ်ပါ။

BOM ခေါင်းစီးများကိုမည်သို့စစ်ဆေးရမည်နည်း။

  1. BOM header ကိုစစ်ဆေးပါ သင်၏ PHP header ကိုဖွင့်ရန်သင်၏ PHP ဖိုင်ကိုဖွင့်ရန်သင်၏ PHP ဖိုင်ကိုဖွင့်ရန်စာသားတည်းဖြတ်သူ (ဥပမာ notepad + + or sublime text) ကိုသုံးနိုင်သည်။ အကယ်. ဖိုင်သည် UTF-8 encoded နှင့် BOM header ပါ 0 င်ပါက Editor သည်များသောအားဖြင့်သက်ဆိုင်ရာလိုဂိုရှိသည်။

  2. Bom Header ကိုဖယ်ရှားပါ ဖိုင်တွင် BOM header ပါ 0 င်ကြောင်းသင်တွေ့ရှိပါက၎င်းကိုအောက်ပါနည်းလမ်းများဖြင့်ဖယ်ရှားနိုင်သည် -

    • Notepad ++ တွင်ဖိုင်ကိုဖွင့်ပြီးနောက် encoding menu ကိုနှိပ်ပြီး UTF-8 ကို BOM မပါဘဲ ရွေးပါ။

    • Sublime စာသား တွင် UTF-8 format (BOM) အဖြစ်သိမ်းဆည်းပါ ။ Save encoding option ကို သုံး. သိမ်းဆည်းပါ။

  3. PHP ကိုဘယ်လိုကိုင်တွယ်ရမလဲ ဖိုင်၏ encoding ကိုသင်တိုက်ရိုက်မပြုပြင်နိုင်ပါကတည်းဖြတ်ခြင်းကိရိယာသည်၎င်းကိုမထောက်ခံပါက BOM header ကိုရှင်းလင်းရန် PHP တွင်အောက်ပါကုဒ်ကိုသုံးနိုင်သည်။

     <?php
    // ဖိုင်၏ထိပ်တွင်ဤကုဒ်ကိုထည့်ပါ
    if (substr(utf8_decode(file_get_contents('yourfile.php')), 0, 3) == "\xEF\xBB\xBF") {
        file_put_contents('yourfile.php', substr(file_get_contents('yourfile.php'), 3));
    }
    ?>
    

    ၎င်းသည်ဖိုင်တွင် BOM header ရှိပြီးဖိုင်ကိုဖွင့်သောအခါ၎င်းကိုဖယ်ရှားသင့်သည်ကိုစစ်ဆေးရန်ခွင့်ပြုသည်။

သာမန်အမှားဥပမာ

  1. PHP Code ကိုအမှား

     <?php
    // BOM ဦး ခေါင်းကအကြောင်းတရားများ header() အားမရှိသော
    header("Location: https://m66.net");
    exit;
    ?>
    

    အကယ်. ဤ PHP ဖိုင်တွင် BOM ခေါင်းစီးများပါ 0 င်ပါ က header () function သည်အလုပ်မလုပ်ပါ။

  2. ဖြေရှင်းချက် -
    BOM header ကိုဖယ်ရှားပါသို့မဟုတ် header () function ကိုမည်သည့် output မတိုင်မီဟုသေချာအောင်လုပ်ပါ။

     <?php
    // ဖျက် BOM ဦး ခေါင်းပြီးနောက်
    header("Location: https://m66.net");
    exit;
    ?>
    

အကျဉ်းချုပ်

PHP အစီအစဉ်များကိုတီထွင်သောအခါ header () function မအောင်မြင်သည့်အကြောင်းရင်းတစ်ခုမှာဖိုင်တွင် Bom header ပါ 0 င်သည်။ BOM ခေါင်းစီးများကိုများသောအားဖြင့်အလွယ်တကူရှာဖွေတွေ့ရှိနိုင်သော်လည်း၎င်းတို့သည် header () function ကို 0 င်ရောက်စွက်ဖက်သည်။ ဤသို့ရှောင်ရှားရန် developer များကသိမ်းဆည်းထားသော PHP ဖိုင်သည် Bom headers များမပါ 0 င်နိုင်အောင်ပြုလုပ်နိုင်ပြီးဖိုင်ကို encoding သည့်အခါကန့်သတ်ထားသော UTF-8 encoding format ကိုရွေးချယ်ရန်အာရုံစိုက်နိုင်သည်။

အကယ်. သင်သည်အလားတူပြ problems နာများကိုသင်ကြုံတွေ့ရပါက, encoding file encoding နှင့်သေချာစစ်ဆေးသည်။ BOM header မရှိပါကပြ the နာကိုဖြေရှင်းရန်ထိရောက်သောနည်းလမ်းဖြစ်သည်။