လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> header function နှင့် တွဲဖက်. headers_sent function ကိုအသုံးပြုခြင်းအတွက်အကောင်းဆုံးသောအလေ့အကျင့်များမှာအဘယ်နည်း။

header function နှင့် တွဲဖက်. headers_sent function ကိုအသုံးပြုခြင်းအတွက်အကောင်းဆုံးသောအလေ့အကျင့်များမှာအဘယ်နည်း။

gitbox 2025-08-19
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// ဤကုဒ်၏ဤအပိုင်းသည်ဆောင်းပါး၏အကြောင်းအရာများနှင့်လုံးဝမသက်ဆိုင်ပါ,Pre-Code ပိတ်ပင်တားဆီးမှုကိုသရုပ်ပြပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">date_default_timezone_set</span></span><span>(</span><span><span class="hljs-string">'Asia/Shanghai'</span></span><span>);
</span><span><span class="hljs-variable">$now</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date</span></span><span>(</span><span><span class="hljs-string">'Y-m-d H:i:s'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"လက်ရှိအချိန်:<span class="hljs-subst">$now</span></span></span><span>\n";
</span><span><span class="hljs-meta">?&gt;</span></span><span>

&lt;hr&gt;

တည်နေPHPဖွံ့ဖြိုးရေးစဉ်အတွင်း,ခဲှစိတ်ကုသHTTPတုံ့ပြန်မှုခေါင်းစီးများသည်အလွန်အသုံးများသောလိုအပ်ချက်များဖြစ်သည်。`</span><span><span class="hljs-title function_ invoke__">header</span></span><span>()`လုပ်ဆောင်ချက်များကိုကျွန်တော်တို့ကိုမူရင်းပို့ရန်ခွင့်ပြုသည်HTTPheader သတင်းအချက်အလက်,နှင့်`</span><span><span class="hljs-title function_ invoke__">headers_sent</span></span><span>()`函数则可以检测header သတင်းအချက်အလက်是否已经发送。ကျိုးကြောင်းဆီလျော်ဒီနှစ်ခုလုပ်ဆောင်ချက်များကိုပေါင်းစပ်,能够有效避免因重复发送header သတင်းအချက်အလက်导致的错误,从နှင့်提升程序的健壮性和用户体验。

</span><span><span class="hljs-comment">## 1. `header()`နိဒါန်းနိဒါန်း</span></span><span>

`</span><span><span class="hljs-title function_ invoke__">header</span></span><span>()`မူရင်းပို့ရန်အသုံးပြုခဲ့သည်HTTPဉီးခေါင်း。ဥပမာအားဖြင့်,ခုန်、အကြောင်းအရာအမျိုးအစားသတ်မှတ်ပါ、cache ကို cache ကိုစသည်တို့:

```php
</span><span><span class="hljs-title function_ invoke__">header</span></span><span>(</span><span><span class="hljs-string">'Location: http://example.com'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">header</span></span><span>(</span><span><span class="hljs-string">'Content-Type: application/json'</span></span><span>);
</span></span>

သို့သော် HTTP Header ကိုပေးပို့ပါက (ဥပမာ, HTML သို့မဟုတ် whitespace ဇာတ်ကောင်များသည် output ကိုထုတ်ဖော်ပြောဆိုပါက "Header Information header " ကို "header information in-headers informing headers"

2 ။ ခေါင်းစီးများ () function ကို၏ function ကို

Headers_sent () HTTP Header ကို client သို့ပို့ခြင်းရှိမရှိစစ်ဆေးရန်အသုံးပြုသည်။ ၎င်း၏ပုံမှန်အသုံးပြုမှု:

 <span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-title function_ invoke__">headers_sent</span></span><span>()) {
    </span><span><span class="hljs-title function_ invoke__">header</span></span><span>(</span><span><span class="hljs-string">'Location: http://example.com'</span></span><span>);
    </span><span><span class="hljs-keyword">exit</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">'Headers already sent, cannot redirect.'</span></span><span>;
}
</span></span>

၎င်းသည်ပရိုဂရမ်ချွင်းချက်များကိုဖြစ်စေရန် Header Information ကိုပို့ပြီးနောက် Header Header () ကိုရှောင်ရှားနိုင်သည်။

3 ။ ပေါင်းစပ်အသုံးပြုမှုအတွက်အကောင်းဆုံးအလေ့အကျင့်များ

  • ဘာမှမထုတ်ယူရှောင်ရှားရန်ကြိုတင်ခေါ်ဆိုမှု header () ကြိုတင်ခေါ်ပါ
    PHP output များအကြောင်းအရာအကြောင်းအရာများသည် HTTP Header ကိုအလိုအလျောက်ပေးပို့လိမ့်မည်။ ထို့ကြောင့်, header () တွင် ပဲ့တင်ထပ်, ပုံနှိပ်ခြင်းသို့မဟုတ် HTML output မရှိပါ။

  • Headers_sent () header သတင်းအချက်အလက်များကိုထပ်ခါတလဲလဲပေးပို့ခြင်းကိုတားဆီးရန်ရှာဖွေတွေ့ရှိရန် () ကိုသုံးပါ ရှုပ်ထွေးသောပရိုဂရမ်များ (သို့) ပုံစံများအရ output object ကိုအပြည့်အဝထိန်းချုပ်ရန်ခက်ခဲနိုင်ပြီး Headers_sent () ကိုစစ်ဆေးရန်အထူးအရေးကြီးသည်။

  • header ကိုပို့လိုက်ပြီဆိုတာကိုသင်တွေ့တဲ့အခါအခြားရွေးချယ်စရာတစ်ခုကိုယူပါ ဥပမာအားဖြင့်, ပရိုဂရမ်ပျက်ခြင်းကိုရှောင်ရှားရန်လက်စွဲလင့်ခ်များကိုခုန်ချရန်သို့မဟုတ်ပေးရန် JavaScript ကိုသုံးပါ။

  • ထွက်ပေါက် သို့မဟုတ် သေဆုံး နှင့်အတူသုံးပါ ပြန်လည်နေရာချထားရေးကိုပြန်ပို့ပြီးနောက်နောက်ဆက်တွဲကုဒ်ကွပ်မျက်ခြင်းကိုကာကွယ်ရန် script သည်ချက်ချင်းပင်ထွက်ခွာသွားသင့်သည်။

4 ။ နမူနာကုဒ်

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// တစ်နေရာရာမှာ output ကိုဖြစ်လိမ့်မယ်ထင်ပါတယ်</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အလည်အပတ်ခရီးမှလှိုက်လှဲစွာကြိုဆိုပါသည်!"</span></span><span>;

</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-title function_ invoke__">headers_sent</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>, </span><span><span class="hljs-variable">$line</span></span><span>)) {
    </span><span><span class="hljs-title function_ invoke__">header</span></span><span>(</span><span><span class="hljs-string">'Location: http://example.com'</span></span><span>);
    </span><span><span class="hljs-keyword">exit</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"&lt;script&gt;window.location.href='http://example.com';&lt;/script&gt;"</span></span><span>;
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"&lt;p&gt;စာမျက်နှာခုန်မအောင်မြင်ပါ,ကျေးဇူးပြု. နှိပ်ပါ &lt;a href='http://example.com'&gt;ဒီမှာ&lt;/a&gt;。&lt;/p&gt;"</span></span><span>;
    </span><span><span class="hljs-title function_ invoke__">error_log</span></span><span>(</span><span><span class="hljs-string">"Headers already sent in <span class="hljs-subst">$file</span></span></span><span> on line </span><span><span class="hljs-subst">$line</span></span><span>.");
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

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

header () နှင့် headers_sent () ပေါင်းစပ်ခြင်း () ပေါင်းစပ်ခြင်း () ပေါင်းစပ်မှုသည် HTTP header operations ၏လုံခြုံရေးနှင့်ပြောင်းလွယ်ပြင်လွယ်မှုကိုသိသိသာသာတိုးတက်စေနိုင်သည်။ အထူးသဖြင့်ကြီးမားသောစီမံကိန်းများသို့မဟုတ်မူဘောင်များတွင်ဤရှာဖွေတွေ့ရှိမှုယန္တရားသည်အမှားအယွင်းများကြောင့်အမှားအယွင်းများကြောင့်ဖြစ်ပေါ်လာသောအမှားများကိုရှောင်ရှားနိုင်ပြီး, ကောင်းမွန်သောရလဒ်ထိန်းချုပ်မှုအလေ့အထများနှင့် ဦး ခေါင်းရှာဖွေတွေ့ရှိမှုကိုအသုံးပြုခြင်းနှင့် ပတ်သက်. အသိအမြင်များနှင့်အသိအမြင်များသိရှိနားလည်ခြင်းသည် PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်အကောင်းဆုံးအလေ့အကျင့်တစ်ခုဖြစ်သည်။

 <span></span>