headers_list

(PHP 5, PHP 7, PHP 8)

headers_listGönderilmiş (veya gönderilmeye hazır) yanıt başlıklarının listesiyle döner

Açıklama

headers_list(): array

headers_list() işlevi, tarayıcıya veya istemciye gönderilen başlıkların listesini döndürür. Bu başlıkların henüz gönderilip gönderilmediğini headers_sent() işleviyle öğrenebilirsiniz.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başlıkları içeren sayısal indisli bir dizi döndürür.

Örnekler

Örnek 1 - headers_list() kullanım örneği

<?php

/* setcookie() kendisi için bir yanıt başlığı ekler */
setcookie('foo', 'bar');

/* Özel bir yanıt başlığı tanımlayalım.
Bunu çoğu istemci yok sayar. */
+header("Example-Test: foo");

/* Yanıtımızın salt metin içerdiğini belirtelim */
header('Content-Type: text/plain; charset=UTF-8');

/* Hangi başlıklar gönderiliyor? */
var_dump(headers_list());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(3) {
  [0]=>
  string(19) "Set-Cookie: foo=bar"
  [2]=>
  [1]=>
  string(17) "Example-Test: foo"
  string(39) "Content-Type: text/plain; charset=UTF-8"
}

Notlar

Bilginize:

Başlıklar sadece onları destekleyen bir SAPI kullanımdaysa erişilebilir ve çıktılanabilir olacaktır.

Ayrıca Bakınız

add a note add a note

User Contributed Notes 3 notes

up
19
Anonymous
12 years ago
note that it does not return the status header

<?php

header
('HTTP/1.1 301 Moved Permanently', true, 301);

header('foo: bar');
header('a: b');
header('colon less example');

print_r(headers_list());
?>

Array
(
    [0] => X-Powered-By: PHP/5.4.7
    [1] => foo: bar
    [2] => a: b
)
up
9
arnold at jasny dot net
7 years ago
This function won't work for when you're running PHP from the command line. If will always return an empty array. This can be an issue when testing your project using PHPUnit or Codeception.

To solve this, install the xdebug extension and use `xdebug_get_headers` when on the cli.

<?php
$headers
= php_sapi_name() === 'cli' ? xdebug_get_headers() : headers_list();
?>
up
0
SOLO2
12 years ago
Function to check if a particular header has been added to the list:

<?php

function header_sent($header) {
   
$headers = headers_list();
   
$header = trim($header,': ');
   
$result = false;

    foreach (
$headers as $hdr) {
        if (
stripos($hdr, $header) !== false) {
           
$result = true;
        }
    }

    return
$result;
}

?>
To Top