2009-04-17 10 views
3

Existe-t-il un moyen intelligent de vérifier si la sortie a déjà été envoyée au navigateur et si l'envoi d'un en-tête génère une PHP_WARNING?Vérifier si le contenu a déjà été envoyé en PHP

Évidemment, il y a l'alternative d'utiliser un tampon de sortie, mais ce n'est pas toujours une option.

Répondre

6

Vous pouvez utiliser la méthode headers_sent(). Ceci parce qu'avant que quelque chose ne soit sorti, les en-têtes seront envoyés en premier.

+0

J'ai oublié que tous les en-têtes sont envoyés à la fois. Tu as raison. –

-1

Si tout ce que vous voulez est de cacher l'avertissement, juste désactiver error reporting:

$old_er = error_reporting(0); 

header(...) 

error_reporting($old_er); 

Ou, vous pouvez rediriger les erreurs PHP et avertissements dans un fichier journal (ce qui est préférable dans la production, l'OMI).

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