2009-04-17 3 views
3

Gibt es eine intelligente Möglichkeit, um zu überprüfen, ob die Ausgabe bereits an den Browser gesendet wurde und das Senden eines Headers ein PHP_WARNING erzeugen würde?Prüfen, ob der Inhalt bereits in PHP gesendet wurde

Offensichtlich gibt es die Alternative, einen Ausgabepuffer zu verwenden, aber das ist nicht immer eine Option.

Antwort

6

Sie können die headers_sent() -Methode verwenden. Denn bevor etwas ausgegeben wird, werden die Header zuerst gesendet.

+0

habe ich vergessen, dass alle Header auf einmal gesendet werden. Du hast recht. –

-1

Wenn alles, was Sie wollen, ist die Warnung zu verstecken, nur deaktivieren error reporting:

$old_er = error_reporting(0); 

header(...) 

error_reporting($old_er); 

Oder Sie können PHP-Fehler und Warnungen in eine Protokolldatei umleiten (die in der Produktion bevorzugt, IMO).

2
if (headers_sent()) 
{ 
    trigger_error("Here you got your warning", E_WARNING); 
}