Manuel PHP
headers_sent
(PHP 4, PHP 5)
headers_sent — Indique si les en-têtes HTTP ont déjà été envoyés
Description
Vérifie si les en-têtes HTTP ont déjà été envoyés.
Vous ne pouvez plus envoyer d'en-têtes avec la fonction header() une fois que le bloc d'en-tê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 consiste à utiliser le contrôle de sortie.
Liste de paramètres
- file
-
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 .
- line
-
Le numéro de la ligne où la sortie a eu lieu.
Valeurs de retour
headers_sent() retourne FALSE si aucun en-tête n'a été envoyé, ou TRUE sinon.
Historique
| Version | Description |
|---|---|
| 4.3.0 | Ajout des paramètres optionnels file et line . |
Exemples
Exemple #1 Exemple avec headers_sent()
- <?php
- // Si aucun en-tête n'a été envoyé, envoyons-en un
- if (!headers_sent()) {
- header('Location: http://www.example.com/');
- exit;
- }
- // Voici un exemple d'utilisation des paramètres optionnels 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.example.com/');
- exit;
- // Vous allez probablement déclencher une erreur ici
- } else {
- echo "Les en-têtes ont déjà été envoyés, depuis le fichier$filenameà la ligne$linenum\n" .
- "Il est donc impossible de vous rediriger automatiquement, aussi veuillez
- cliquez <a href=\"http://www.example.com\">ici</a>.\n";
- exit;
- }
- ?>
Voir aussi
- ob_start()
- trigger_error()
- headers_list()
- header()pour plus de détails sur les tenants et aboutissants.
Remonter 
