(PHP 4, PHP 5)
headers_sent — Sprawdza czy zostały wysłane nagłówki i gdzie to nastąpiło
Sprawdza czy już zostały wysłane nagłówki i w którym miejscu to nastąpiło.
Jeśli blok nagłówkowy został już wysłany, to nie można dodawać nowych linii nagłówka za pomocą funkcji header(). Użycie tej funkcji pozwala także zabezpieczyć się przed otrzymywaniem komunikatów błędów związanych z nagłówkami HTTP. Inną możliwością jest stosowanie buforowania wyjścia.
Jeśli są podane opcjonalne parametry plik i linia , funkcja headers_sent() umieści nazwę pliku źródłowego i numer linii, w której rozpoczęło się wysyłanie na wyjście, odpowiednio w zmiennych plik i linia .
Numer linii, w której rozpocząło się wysyłanie na wyjście.
headers_sent() zwraca FALSE jeśli nagłówki HTTP nie zostały wysłane, w przeciwnym wypadku zwraca TRUE.
Wersja | Opis |
---|---|
4.3.0 | Zostały dodane opcjonalne parametry plik i linia . |
Przykład #1 Przykład użycia headers_sent()
<?php
// If no headers are sent, send one
if (!headers_sent()) {
header('Location: http://www.example.com/');
exit;
}
// An example using the optional file and line parameters, as of PHP 4.3.0
// Note that $filename and $linenum are passed in for later use.
// Do not assign them values beforehand.
if (!headers_sent($filename, $linenum)) {
header('Location: http://www.example.com/');
exit;
// You would most likely trigger an error here.
} else {
echo "Headers already sent in $filename on line $linenum\n" .
"Cannot redirect, for now please click this <a " .
"href=\"http://www.example.com\">link</a> instead\n";
exit;
}
?>