Как я могу прочитать любой заголовок запроса в PHP - PullRequest
231 голосов
/ 12 февраля 2009

Как мне прочитать любой заголовок в PHP?

Например, пользовательский заголовок: X-Requested-With.

Ответы [ 15 ]

0 голосов
/ 17 июня 2018

если для извлечения требуется только один ключ, например, требуется "Host" адрес, тогда мы можем использовать

apache_request_headers()['Host']

Чтобы мы могли избежать петель и поместить их в линию к выводам эха

0 голосов
/ 26 декабря 2017

Это работает, если у вас есть сервер Apache

PHP код:

$headers = apache_request_headers();

foreach ($headers as $header => $value) {
    echo "$header: $value <br />\n";
}

Результат:

Accept: */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0
Host: www.example.com
Connection: Keep-Alive
0 голосов
/ 26 января 2016
function getCustomHeaders()
{
    $headers = array();
    foreach($_SERVER as $key => $value)
    {
        if(preg_match("/^HTTP_X_/", $key))
            $headers[$key] = $value;
    }
    return $headers;
}

Я использую эту функцию для получения пользовательских заголовков, если заголовок начинается с "HTTP_X_", мы вставляем массив:)

0 голосов
/ 25 декабря 2014

Этот небольшой фрагмент PHP может быть полезен для вас:

<?php
foreach($_SERVER as $key => $value){
echo '$_SERVER["'.$key.'"] = '.$value."<br />";
}
?>
0 голосов
/ 23 сентября 2013

Вот простой способ сделать это.

// echo get_header('X-Requested-With');
function get_header($field) {
    $headers = headers_list();
    foreach ($headers as $header) {
        list($key, $value) = preg_split('/:\s*/', $header);
        if ($key == $field)
            return $value;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...