headers_sent

(PHP 4, PHP 5)

headers_sentIndique si les en-têtes HTTP ont déjà été envoyés

Description

bool headers_sent ([ string &$file [, int &$line ]] )

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;
}

?>

Notes

Note:

Les en-têtes ne seront accessibles et s'afficheront que lorsqu'un SAPI qui les supportent sera utilisé.

Voir aussi

  • ob_start() - Enclenche la temporisation de sortie
  • trigger_error() - Déclenche une erreur utilisateur
  • headers_list() - Retourne la liste des en-têtes de réponse du script courant
  • header() - Envoie un en-tête HTTPpour plus de détails sur les tenants et aboutissants.

LoadingChargement en cours