PHP Dokumentation: Function headers-sent
12. Januar 2010 von werner
headers_sent
(PHP 4, PHP 5)
headers_sent — Prüft, ob oder wo die Header bereits gesendet wurden
Beschreibung
Prüft, ob oder wo die Header bereits gesendet wurden.
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.
Parameter-Liste
- file
Sind die optionalen Parameter file und line angegeben, schreibt headers_sent() den PHP-Dateinamen und die Zeilennummer, an denen die Ausgabe begann, in die Variablen file und line.
- line
Die Zeilennummer, an der die Ausgabe begann.
Rückgabewerte
headers_sent() gibt FALSE zurück, wenn noch keine HTTP-Header gesendet wurden, ansonsten TRUE.
Changelog
| Version | Beschreibung |
|---|---|
| 4.3.0 | Die optionalen Parameter file und line wurden eingeführt. |
Beispiele
Beispiel #1 Beispiel zur Verwendung von 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 { echo
"Header bereits gesendet in $filename in Zeile $linenum\n" .
"Redirect nicht moeglich, klicken Sie daher statt dessen <a " .
"href=\"http://www.example.com\">diesen Link</a> an\n";
exit;
}?>Siehe auch
- ob_start() – Ausgabepufferung aktivieren
- trigger_error() – Erzeugt eine benutzerdefinierte Fehlermeldung/Warnung/Benachrichtigung
- headers_list() – Gibt eine Liste der gesendeten (oder zum Senden vorbereiteten) Response Header zurück
- header() – Sendet einen HTTP-Header in Rohform for a more detailed discussion of the matters involved.