(PHP 4, PHP 5)
headers_sent — Sprawdza czy zostały wysłane nagłówki i gdzie to nastąpiło
&$plik
[, int &$linia
]] )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.
plik
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
.
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;
}
?>