<span><span><span class="hljs-meta"><?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">?></span></span><span>
<hr>
တည်နေ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"
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 () ကိုရှောင်ရှားနိုင်သည်။
ဘာမှမထုတ်ယူရှောင်ရှားရန်ကြိုတင်ခေါ်ဆိုမှု header () ကြိုတင်ခေါ်ပါ
PHP output များအကြောင်းအရာအကြောင်းအရာများသည် HTTP Header ကိုအလိုအလျောက်ပေးပို့လိမ့်မည်။ ထို့ကြောင့်, header () တွင် ပဲ့တင်ထပ်, ပုံနှိပ်ခြင်းသို့မဟုတ် HTML output မရှိပါ။
Headers_sent () header သတင်းအချက်အလက်များကိုထပ်ခါတလဲလဲပေးပို့ခြင်းကိုတားဆီးရန်ရှာဖွေတွေ့ရှိရန် () ကိုသုံးပါ ရှုပ်ထွေးသောပရိုဂရမ်များ (သို့) ပုံစံများအရ output object ကိုအပြည့်အဝထိန်းချုပ်ရန်ခက်ခဲနိုင်ပြီး Headers_sent () ကိုစစ်ဆေးရန်အထူးအရေးကြီးသည်။
header ကိုပို့လိုက်ပြီဆိုတာကိုသင်တွေ့တဲ့အခါအခြားရွေးချယ်စရာတစ်ခုကိုယူပါ ဥပမာအားဖြင့်, ပရိုဂရမ်ပျက်ခြင်းကိုရှောင်ရှားရန်လက်စွဲလင့်ခ်များကိုခုန်ချရန်သို့မဟုတ်ပေးရန် JavaScript ကိုသုံးပါ။
ထွက်ပေါက် သို့မဟုတ် သေဆုံး နှင့်အတူသုံးပါ ပြန်လည်နေရာချထားရေးကိုပြန်ပို့ပြီးနောက်နောက်ဆက်တွဲကုဒ်ကွပ်မျက်ခြင်းကိုကာကွယ်ရန် script သည်ချက်ချင်းပင်ထွက်ခွာသွားသင့်သည်။
<span><span><span class="hljs-meta"><?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">"<script>window.location.href='http://example.com';</script>"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<p>စာမျက်နှာခုန်မအောင်မြင်ပါ,ကျေးဇူးပြု. နှိပ်ပါ <a href='http://example.com'>ဒီမှာ</a>。</p>"</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">?></span></span><span>
</span></span>header () နှင့် headers_sent () ပေါင်းစပ်ခြင်း () ပေါင်းစပ်ခြင်း () ပေါင်းစပ်မှုသည် HTTP header operations ၏လုံခြုံရေးနှင့်ပြောင်းလွယ်ပြင်လွယ်မှုကိုသိသိသာသာတိုးတက်စေနိုင်သည်။ အထူးသဖြင့်ကြီးမားသောစီမံကိန်းများသို့မဟုတ်မူဘောင်များတွင်ဤရှာဖွေတွေ့ရှိမှုယန္တရားသည်အမှားအယွင်းများကြောင့်အမှားအယွင်းများကြောင့်ဖြစ်ပေါ်လာသောအမှားများကိုရှောင်ရှားနိုင်ပြီး, ကောင်းမွန်သောရလဒ်ထိန်းချုပ်မှုအလေ့အထများနှင့် ဦး ခေါင်းရှာဖွေတွေ့ရှိမှုကိုအသုံးပြုခြင်းနှင့် ပတ်သက်. အသိအမြင်များနှင့်အသိအမြင်များသိရှိနားလည်ခြင်းသည် PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်အကောင်းဆုံးအလေ့အကျင့်တစ်ခုဖြစ်သည်။
<span></span>