လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> headers_list () နှင့် getalleheaders () ကိုပေါင်းစပ်ခြင်း (), အပြည့်စုံဆုံးတောင်းဆိုချက်နှင့်တုံ့ပြန်မှုခေါင်းစီးများမည်သို့ရနိုင်မည်နည်း။

headers_list () နှင့် getalleheaders () ကိုပေါင်းစပ်ခြင်း (), အပြည့်စုံဆုံးတောင်းဆိုချက်နှင့်တုံ့ပြန်မှုခေါင်းစီးများမည်သို့ရနိုင်မည်နည်း။

M66 2025-06-29

1 ။ GetAllheaders () တောင်းဆိုမှု header ရရှိသွားတဲ့

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 အတွက်,


2 ။ ခေါင်းစီးများ () တုန့်ပြန်ခေါင်းစီးကိုရရှိသည်

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 ကိုပေးပို့ခြင်းသို့မဟုတ်တုန့်ပြန်မှုခေါင်းစဉ်အချက်အလက်အားလုံးကိုပေးပို့ရန်အဆင်သင့်ဖြစ်ကြောင်းအတည်ပြုရန်ကူညီနိုင်သည်။


3 ။ နှစ် ဦး စလုံးပေါင်းစပ်ခြင်း, အပြည့်အဝတောင်းဆိုမှုနှင့်တုံ့ပြန်မှု header ကိုရယူပါ

အမှန်တကယ်စီမံကိန်းများအနေဖြင့်တောင်းဆိုမှုခေါင်းစဉ်နှင့်တုန့်ပြန်မှုခေါင်းစီးကို 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";
}
?>

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

  • GetAllheaders () တောင်းဆိုမှု header ကိုရယူရန်နှင့်တောင်းဆိုသူမှပေးပို့သော header အချက်အလက်အားလုံးကိုပြန်ပို့ရန်အသုံးပြုသည်။

  • Headers_list () PHP script သည်လက်ရှိတွင်ပေးပို့ရန်အဆင်သင့်ဖြစ်နေကြောင်းတုန့်ပြန်မှုခေါင်းစဉ်စာရင်းကိုရယူရန်အသုံးပြုသည်။

  • ပေါင်းစပ်အသုံးပြုမှုသည်တောင်းဆိုမှုနှင့်တုန့်ပြန်မှုခေါင်းဆောင်မှုများ၏ပြည့်စုံသောဖမ်းယူခြင်းနှင့်ခွဲခြမ်းစိတ်ဖြာခြင်းကိုရရှိနိုင်သည်။

  • URLs ပါ 0 င်သော header fields များအတွက် Domain Name ကို M66.net နှင့် Easy Testing နှင့်သရုပ်ပြရန်အတွက် M66.net ဖြင့်အစားထိုးပါ။

ဤနည်းအားဖြင့်သင်တောင်းဆိုမှုများနှင့်တုံ့ပြန်မှုများတိကျမှန်ကန်မှုကိုသေချာစေရန်သင်၏ PHP စီမံကိန်းမှ HTTP စီမံကိန်းတွင် http headers များကိုအလွယ်တကူကြည့်ရှုနိုင်သည်။