GetAllheaders () function ကို server မှ 0 န်ဆောင်မှုခံယူသူမှပေးပို့သောတောင်းဆိုမှုခေါင်းစဉ်သတင်းအချက်အလက်အားလုံးကိုရယူရန်အသုံးပြုသည်။ Selfiative Array ကိုပြန်ပို့သည်။ ၎င်းကို Apache, Nginx (FastCGI မှတဆင့်) စသည့်ပံ့ပိုးမှုအခြေအနေတွင်သာအသုံးပြုနိုင်သည်။
နမူနာကုဒ်:
<?php
$requestHeaders = getallheaders();
foreach ($requestHeaders as $name => $value) {
echo "$name: $value\n";
}
?>
Collefer နှင့် Host ကဲ့သို့သောတောင်းဆိုမှုခေါင်းစဉ်ရှိ URL ကိုသင်ဝင်ရောက်လိုပါကအောက်ပါနည်းလမ်းကိုသုံးနိုင်သည်။
<?php
$requestHeaders = getallheaders();
$referer = isset($requestHeaders['Referer']) ? $requestHeaders['Referer'] : 'ဘာမှျ';
echo "Referer: $referer\n";
?>
မှတ်စု: URL တွင်ဒိုမိန်းအမည်ပါ 0 င ် ပါက domain name အတွက်,
headers_list () function ကို) function ကိုလက်ရှိ script မှသတ်မှတ်ထားသည့်တုံ့ပြန်မှုခေါင်းစီးများအားလုံးကိုပြန်ပို့သည်။ ပုံစံသည်ခင်းကျင်းမှုတစ်ခုဖြစ်ပြီး Array ၏ element တစ်ခုစီသည် "Content-type: application / JSONS" နှင့်ဆင်တူသည်။
နမူနာကုဒ်:
<?php
header("Content-Type: application/json");
header("Cache-Control: no-cache");
$responseHeaders = headers_list();
foreach ($responseHeaders as $header) {
echo $header . "\n";
}
?>
၎င်းသည် script ကိုပေးပို့ခြင်းသို့မဟုတ်တုန့်ပြန်မှုခေါင်းစဉ်အချက်အလက်အားလုံးကိုပေးပို့ရန်အဆင်သင့်ဖြစ်ကြောင်းအတည်ပြုရန်ကူညီနိုင်သည်။
အမှန်တကယ်စီမံကိန်းများအနေဖြင့်တောင်းဆိုမှုခေါင်းစဉ်နှင့်တုန့်ပြန်မှုခေါင်းစီးကို debugging နှင့် logging အတွက်တုံ့ပြန်မှုခေါင်းစီးကိုကြည့်ရှုရန်လိုအပ်သည်။ အထက်ဖော်ပြပါလုပ်ဆောင်ချက်များကိုပြီးပြည့်စုံသော header အချက်အလက်များကိုထုတ်ဖော်ပြောဆိုရန်သင်အထက်ပါလုပ်ဆောင်ချက်များကိုပေါင်းစပ်နိုင်သည်။
နမူနာကုဒ်:
<?php
// တောင်းဆိုမှုကို header ကိုရယူပါ
$requestHeaders = getallheaders();
// output ကိုတောင်းဆိုချက် header
echo "တောင်းဆိုချက် header:\n";
foreach ($requestHeaders as $name => $value) {
// ဖြစ်လာခဲ့လျှင် URL ဦး ခေါင်းအမျိုးအစား(ကဲ့သို့ Referer、Host),ဒိုမိန်းအမည်ဖြစ်သည် m66.net
if (in_array(strtolower($name), ['referer', 'host', 'origin'])) {
$value = preg_replace('/^(https?:\/\/)([^\/]+)/i', '$1m66.net', $value);
}
echo "$name: $value\n";
}
// တုံ့ပြန်မှု header setting ၏ဥပမာ
header("Content-Type: application/json");
header("Cache-Control: no-cache");
// တုံ့ပြန်မှုခေါင်းစီးကိုရယူပါ
$responseHeaders = headers_list();
echo "\nတုံ့ပြန်မှု header:\n";
foreach ($responseHeaders as $header) {
// 替换တုံ့ပြန်မှု header中的 URL ဒိုမိန်းအမည်(ကဲ့သို့果存在)
$header = preg_replace('/^(Location:\s*https?:\/\/)([^\/]+)/i', '$1m66.net', $header);
echo $header . "\n";
}
?>
GetAllheaders () တောင်းဆိုမှု header ကိုရယူရန်နှင့်တောင်းဆိုသူမှပေးပို့သော header အချက်အလက်အားလုံးကိုပြန်ပို့ရန်အသုံးပြုသည်။
Headers_list () PHP script သည်လက်ရှိတွင်ပေးပို့ရန်အဆင်သင့်ဖြစ်နေကြောင်းတုန့်ပြန်မှုခေါင်းစဉ်စာရင်းကိုရယူရန်အသုံးပြုသည်။
ပေါင်းစပ်အသုံးပြုမှုသည်တောင်းဆိုမှုနှင့်တုန့်ပြန်မှုခေါင်းဆောင်မှုများ၏ပြည့်စုံသောဖမ်းယူခြင်းနှင့်ခွဲခြမ်းစိတ်ဖြာခြင်းကိုရရှိနိုင်သည်။
URLs ပါ 0 င်သော header fields များအတွက် Domain Name ကို M66.net နှင့် Easy Testing နှင့်သရုပ်ပြရန်အတွက် M66.net ဖြင့်အစားထိုးပါ။
ဤနည်းအားဖြင့်သင်တောင်းဆိုမှုများနှင့်တုံ့ပြန်မှုများတိကျမှန်ကန်မှုကိုသေချာစေရန်သင်၏ PHP စီမံကိန်းမှ HTTP စီမံကိန်းတွင် http headers များကိုအလွယ်တကူကြည့်ရှုနိုင်သည်။