Beschreibung
boolean
headers_sent
( [string file [, int line]])
headers_sent(
)
gibt
TRUE
zurück
,
wenn
die
HTTP-Header
bereits
gesendet
wurden
,
ansonsten
wird
FALSE
zurückgegeben
.
Sind
die
optionalen
Parameter
file
und
line
angegeben
,
werden
der
Dateiname
und
die
Zeilennummer
von
wo
die
Ausgabe
begann
,
in
den
Variablen
file
und
line
gespeichert
.
Sobald
der
Header-Block
gesendet
wurde
,
können
Sie
keine
weiteren
Header-Zeilen
mit
der
Funktion
header(
)
Sobald
der
Header-Block
gesendet
wurde
,
können
Sie
keine
weiteren
Header-Zeilen
mit
der
Funktion
header(
)
hinzufügen
.
Mittels
dieser
Funktion
können
Sie
aber
zumindest
Fehlermeldungen
bezüglich
der
HTTP
Header
vermeiden
.
Eine
andere
Möglichkeit
ist
die
Verwendung
von
Output
Buffering
.
Neue
Parameter
:
Die
optionalen
Parameter
file
und
line
wurden
in
PHP
4.3.0
eingeführt
.
Beispiel
1
.
Beispiele
für
headers_sent(
)
?php
/
/
Wenn
keine
Header
gesendet
wurden
,
sende
einen
if
(
!headers_sent()
)
{
header
('Location
:
http
:
/
/www.example.com
/
')
;
exit
;
}
/
/
Ein
Beispiel
für
den
Einsatz
der
seit
PHP
4.3.0
verfügbaren
optionalen
/
/
Parameter
file
und
line
.
Beachten
Sie
,
dass
$filename
und
$linenum
für
/
/
einen
späteren
Einsatz
übergeben
werden
.
/
/
Weisen
Sie
ihnen
davor
keine
Werte
zu
.
if
(
!headers_sent($filename
,
$linenum)
)
{
header
('Location
:
http
:
/
/www.example.com
/
')
;
exit
;
/
/
Wahrscheinlich
wollen
Sie
hier
eine
Fehlermeldung
auslösen
}
else
{
print
"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
;
}
?
|
|
Siehe
auch
ob_start(
)
,
trigger_error(
)
und
header(
)
für
detailliertere
Informationen
zu
diesem
Thema
.