7.36 HTTP
7 Index des fonctions
Manuel PHP
. Introduction . Pré-requis . Installation . Configuration à l'exécution . Types de ressources . Constantes prédefinies . header ->headers_sent . setcookie
|
7.36.8 headers_sent()
Indique si les entêtes HTTP ont déjà été
envoyés
[ Exemples avec headers_sent ] PHP 3>= 3.0.8, PHP 4
bool
headers_sent (
string
&file
,
int
&line
)
headers_sent
retourne
TRUE
si les entêtes
HTTP
ont déjà
été envoyés, et
FALSE
sinon.
Si les paramètres optionnels
file
et
line
sont fournis,
headers_sent
va placer le nom du fichier source et le numéro
de ligne qui ont débuté l'affichage, dans les variables
file
et
line
.
Vous ne pouvez plus envoyer d'entêtes avec la fonction
header
une fois que le bloc d'entête a été fermé. En utilisant cette fonction, vous pouvez
au moins éviter de voir s'afficher les erreurs HTTP reliées. Une autre
option est d'utilise le contrôle de sortie .
Note | Nouveaux paramètres
Les paramètres optionnels
file
et
line
ont été ajouté en
PHP
4.3.0.
|
Exemple avec headers_sent |
<?php
// Si aucun entête n'a été envoyé, envoyons en un if (!headers_sent()) { header ('Location: http://www.nexen.net/'); exit; } // Voici un exemple d'utilisation des paramètres optionels de fichier et de ligne // disponibles depuis PHP 4.3.0. Notez que $filename et $linenum sont // transmis pour utilisation ultérieure. Ne les assignez pas avant de les utiliser. if (!headers_sent($filename, $linenum)) { header ('Location: http://www.nexen.net/'); exit;
// Vous allez probablement déclencher une erreur ici } else {
print "Les entêtes ont déjà été envoyés, depuis le fichier $filename à la ligne $linenum\n" . "Il est donc impssible de vous rediriger automatiquement, aussi veuillez cliquez <a href=\"http://www.nexen.net\">ici</a>.\n"; exit; }
?>
|
Voir aussi
ob_start
,
trigger_error
et
header
pour plus de détails sur les
tenants et aboutissants.
|