လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> အကြောင်းအရာအမျိုးအစားကို header () နှင့်အတူထားပါ။ () - web output အတွက်သော့ချက်

အကြောင်းအရာအမျိုးအစားကို header () နှင့်အတူထားပါ။ () - web output အတွက်သော့ချက်

M66 2025-06-02

PHP ပရိုဂရမ်တွင် header () function သည် function သည်အလွန်အသုံးများသောနှင့်အရေးကြီးသောကိရိယာတစ်ခုဖြစ်သည်။ တုန့်ပြန်မှုခေါင်းစဉ်ကိုပြုပြင်ခြင်းအားဖြင့်ဝက်ဘ်စာမျက်နှာ၏အကြောင်းအရာများကိုမည်သည့် browser ၏ parses နှင့်ရောင်းချခြင်းကိုထိန်းချုပ်နိုင်သည်။ ၎င်းတို့အနက် အကြောင်းအရာအမျိုးအစားမှာ Key-type သည် Key Rise Header ဖြစ်သည်။ ဝက်ဘ်စာမျက်နှာ output ကိုချိန်ညှိသောအခါအာရုံစိုက်ရမည်။

အကြောင်းအရာအမျိုးအစားကဘာလဲ။

အကြောင်းအရာ-type header သည် browser သို့မဟုတ်အခြား client ကိုပြန်ပို့ထားသောအကြောင်းအရာများကိုမည်သို့ကိုင်တွယ်ရမည်ကိုပြောပြသည်။ ၎င်းသည်ပြန်လာသောအကြောင်းအရာများ၏အမျိုးအစားနှင့် encoding format ကိုသတ်မှတ်သည်။ ဘုံအကြောင်းအရာအမျိုးအစားအမျိုးအစားများတွင် -

  • Text / HTML : Standard HTML စာမျက်နှာ။

  • လျှောက်လွှာ / ဂျွန်ဆန် - JSON format data ။

  • လျှောက်လွှာ / xml : XML format data ။

  • Text / CSS : CSS stylesheet ။

  • လျှောက်လွှာ / Javascript : JavaScript ဖိုင်။

ဥပမာ PHP သည် HTML စာမျက်နှာတစ်ခုဖွင့်သောအခါ၎င်းသည်စာမျက်နှာကိုမှန်ကန်စွာခွဲခြမ်းစိတ်ဖြာရန် HTML ဖိုင်တစ်ခုဖြစ်ကြောင်းဘရောက်ဇာကသိရန်လိုအပ်သည်။ မှန်ကန်သော အကြောင်းအရာအမျိုးအစားကို သတ်မှတ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ပြန်လာသောအကြောင်းအရာများကိုမည်သို့ကိုင်တွယ်ရမည်ကို browser ကိုသိရန်သေချာစေနိုင်သည်။

အကြောင်းအရာ-type သည်အဘယ်ကြောင့်ဤမျှအရေးကြီးသနည်း။

  1. အကြောင်းအရာကိုမှန်ကန်စွာခွဲခြမ်းစိတ်ဖြာခြင်း -
    မှန်ကန်သော အကြောင်းအရာအမျိုးအစားကို မသတ်မှတ်ပါက browser သည်စာမျက်နှာအကြောင်းအရာကိုမှားယွင်းသောပုံစံဖြင့်ခွဲခြမ်းစိတ်ဖြာနိုင်သည်, မှန်ကန်စွာတင်ပြရန်ပျက်ကွက်စေနိုင်သည်။ ဥပမာအားဖြင့်, သင်သည် JSON အချက်အလက်များကိုပေးပို့နေပါက Content-type အမျိုးအစားကိုမဖော်ပြပါက - application / JSONS သည်၎င်းကိုမှန်ကန်စွာစာသားအဖြစ်ဆက်ဆံနိုင်သည်,

  2. Cross-Domain တောင်းဆိုမှု -
    မျက်မှောက်ခေတ် Web Development တွင်ရှေ့အဆုံးလျှောက်လွှာများသည် Ajax သို့မဟုတ်ရယူခြင်းမှတစ်ဆင့်အချက်အလက်များကိုမကြာခဏတောင်းဆိုလေ့ရှိသည်။ ဆာဗာမှပြန်လာသောအချက်အလက်များသည်မှန်ကန်သော အကြောင်းအရာများ မရှိပါကရှေ့ဆုံးမူဘောင်သည်ဤတုံ့ပြန်မှုများကိုပြုပြင်ရန်ငြင်းဆန်လိမ့်မည်။ အထူးသဖြင့်လက်ဝါးကပ်တိုင်ဒိုမိန်းတောင်းဆိုမှုများတွင်ဘရောက်ဇာသည် Cors (Cross-Dome Resource Sharing) မူဝါဒကိုတင်းကြပ်စွာလိုက်နာသည်။ ထို့ကြောင့်မှန်ကန်သော အကြောင်းအရာအမျိုးအစားကို ပြန်လည်ရောက်ရှိရန်သေချာသည်။

  3. စွမ်းဆောင်ရည်တိုးတက်အောင်
    မှန်ကန်သော အကြောင်းအရာ - အမျိုးအစား ဆက်တင်များသည်တစ်ခါတစ်ရံတွင် browser cache နှင့်အရင်းအမြစ်ဝန်များကိုလည်းအကောင်းဆုံးဖြစ်စေနိုင်သည်။ ဥပမာအားဖြင့်, browser သည်အရင်းအမြစ်အမျိုးအစားပေါ်မူတည်ပြီးသို့မဟုတ်တုန့်ပြန်မှုများကိုမည်သို့ကိုင်တွယ်ရမည်ကိုဘရောက်ဇာသည်မည်သည့် cache မရှိမရှိဆုံးဖြတ်နိုင်သည်။ မှားယွင်းသောအမျိုးအစားသည်မလိုအပ်သောစွမ်းဆောင်ရည် overhead ဖြစ်စေနိုင်သည်။

PHP တွင် Content-type ကိုမည်သို့သတ်မှတ်ရမည်နည်း။

HTTP တုံ့ပြန်မှုခေါင်းစီးကိုသတ်မှတ်ရန် PHP သည် header () function ကိုထောက်ပံ့ပေးသည်။ အကယ်. သင်သည် အကြောင်းအရာအမျိုးအစားကို သတ်မှတ်လိုပါက header () function ကိုခေါ်ရန်နှင့်သက်ဆိုင်ရာတန်ဖိုးကိုဖြတ်သန်းရန်လိုအပ်သည်။ ဥပမာအားဖြင့်:

 header('Content-Type: text/html; charset=UTF-8');

ဤကုဒ်နံပါတ်သည်လက်ရှိစာမျက်နှာ၏အကြောင်းအရာသည် HTML နှင့် UTF-8 encoding format ကိုအသုံးပြုသည်ဟု ဆို. browser ကိုဖော်ပြထားသည်။

ဥပမာ 1 - Output JSON ဒေတာ

JSON ဒေတာကိုပြန်ပို့ရန်လိုအပ်သည့် API တစ်ခုကိုသင်တီထွင်နေသည်ဆိုပါစို့

 header('Content-Type: application/json; charset=UTF-8');
echo json_encode($data);

ဥပမာ 2: output ရုပ်ပုံလွှာ

အကယ်. သင်သည် image file ကိုပြန်ပို့နေပါက အကြောင်းအရာအမျိုးအစားကို MIME အမျိုးအစားကိုသတ်မှတ်ရန်လိုအပ်သည်။

 header('Content-Type: image/jpeg');
readfile('image.jpg');

ဥပမာ 3: redirection

တခါတရံ PHP တွင်စာမျက်နှာပြန်ဖွင့်ရန်လိုအပ်သည်။ header () function ကိုလည်း တည်နေရာ header ကိုသတ်မှတ်ရန်အသုံးပြုနိုင်သည်။

 header('Location: http://m66.net/redirect-page');
exit();

ဥပမာ 4: cache ကိုရှောင်ပါ

အကယ်. သင် browser ကိုတစ်မျက်နှာကိုမသိမ်းဆည်းလိုပါကသက်ဆိုင်ရာ cache control header header အချက်အလက်များကိုသတ်မှတ်နိုင်သည်။

 header('Cache-Control: no-store, no-cache, must-revalidate');
header('Pragma: no-cache');
header('Expires: 0');

ကွဲပြားခြားနားသောအကြောင်းအရာအမျိုးအစားများကိုဘယ်လိုကိုင်တွယ်မလဲ။

သင်ပြန်လာလိုသည့်အချက်အလက်အမျိုးအစားပေါ် မူတည်. သင့်တော်သော အကြောင်းအရာအမျိုးအစား setting ကိုအသုံးပြုခြင်းသည်အလွန်အရေးကြီးသည်။ အကယ်. သင်သည် HTML စာမျက်နှာကိုပြန်ပို့နေပါက စာသား / HTML ကို သုံးပါ။ အကယ်. သင်သည် binary file တစ်ခုကိုပြန်ပို့နေပါက လျှောက်လွှာ / ရှစ်လုံးစီးကို သုံးပါ။ အကယ်. သင်သည်ပုံတစ်ပုံကိုပြန်ပို့နေပါကပုံရိပ်အမျိုးအစား (ဥပမာ image / png , image / jpeg စသည်ဖြင့်) သင်သတ်မှတ်ရန်လိုအပ်သည်။

ဘုံအမှားတစ်ခုမှာ - content-type ကို သတ်မှတ်ရန်မေ့နေပြီး browser ကိုပြန်လည်ထူထောင်ခြင်းမှကာကွယ်ရန်စာမျက်နှာကိုပုံမှန်မဟုတ်ဘဲပုံမှန်မဟုတ်သောသို့မဟုတ်ပုံမှန်အားဖြင့် 0 င်ရန်ပျက်ကွက်ခြင်းဖြစ်သည့်အကြောင်းအရာအမျိုးအစားကိုသတ်မှတ်ရန်မေ့နေသည်။

URL အစားထိုးဥပမာ

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

 $url = "https://example.com/api/data";
$response = file_get_contents($url);

Domain Name ကို M66.net သို့ပြောင်းရန်လိုအပ်ပါက URL ကိုသာပြုပြင်ရန်လိုအပ်သည်။

 $url = "https://m66.net/api/data";
$response = file_get_contents($url);

အချို့သောကိစ္စရပ်များတွင်ဤအစားထိုးသည်အထူးသဖြင့် API ဆာဗာကိုအစားထိုးသောအခါသို့မဟုတ်စီမံကိန်းကိုဖွံ့ဖြိုးရေးပတ် 0 န်းကျင်မှထုတ်လုပ်မှုပတ် 0 န်းကျင်မှထုတ်လုပ်သည့်ပတ်ဝန်းကျင်သို့ပြောင်းရွှေ့သောအခါ။

အကျဉ်းချုပ်

PHP တွင် header () function ကိုမှန်ကန်သော အကြောင်းအရာအမျိုးအစားကို သတ်မှတ်ခြင်းအားဖြင့်ဘရောက်ဇာသို့မဟုတ်အခြားဖောက်သည်များမှန်ကန်စွာခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်ပြန်လာသောအကြောင်းအရာများကိုမှန်ကန်စွာခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်ပြန်လည်ပြုပြင်ခြင်းကိုသေချာစေနိုင်သည်။ ၎င်းသည် static web စာမျက်နှာ, JSON ဒေတာသို့မဟုတ် binary file တစ်ခုဖြစ်သည်ဖြစ်စေသင့်လျော်သော MIME အမျိုးအစားကိုသတ်မှတ်ခြင်းသည်စာမျက်နှာ၏မှန်ကန်သော displication နှင့် data formation ကိုသေချာစေရန်သေချာစေနိုင်သည်။

header ကိုသုံးရန် header ကိုသုံးပါ () မှန်ကန်သောတုံ့ပြန်မှုခေါင်းစဉ်ကိုဘာမှမမှောက်မီတာကိုမဖော်ပြရန်နှင့်တုန့်ပြန်မှုအကြောင်းအရာများမှနားလည်မှုများနှင့်မှားယွင်းသောကိုင်တွယ်နည်းများကိုရှောင်ကြဉ်ပါ။ သင်၏စီမံကိန်းတွင် URL အစားထိုးပါ 0 င်ပါကတောင်းဆိုမှုမှန်ကန်မှုကိုသေချာစေရန်အချိန်မီသက်ဆိုင်ရာလင့်များကိုအချိန်မီအသစ်ပြောင်းရန်သတိရပါ။