Aller au contenu

Fonction headers_sent() de PHP : Tout ce que vous devez savoir

En tant que développeur PHP, vous devrez peut-être vérifier si les en-têtes HTTP ont déjà été envoyés au client. La fonction headers_sent() est une fonction intégrée de PHP qui vous permet de vérifier si les en-têtes ont été envoyés. Dans cet article, nous examinerons en détail la fonction headers_sent() et son utilisation.

Qu'est-ce que la fonction headers_sent() ?

La fonction headers_sent() est une fonction intégrée de PHP qui permet de vérifier si les en-têtes ont été envoyés au client.

Comment utiliser la fonction headers_sent() ?

L'utilisation de la fonction headers_sent() est simple. Voici sa syntaxe :

Syntaxe PHP de la fonction headers_sent()

php
headers_sent($file, $line);

La fonction prend deux paramètres facultatifs, qui doivent être passés par référence :

  • $file : Une variable qui recevra le nom du fichier où les en-têtes ont été envoyés.
  • $line : Une variable qui recevra le numéro de ligne où les en-têtes ont été envoyés.

Voici un exemple d'utilisation de la fonction headers_sent() pour vérifier si les en-têtes ont été envoyés :

Utilisation de la fonction headers_sent()

php
<?php

if (headers_sent($file, $line)) {
    echo "Headers already sent in $file on line $line";
}

Dans cet exemple, nous passons $file et $line par référence à la fonction. Si les en-têtes ont déjà été envoyés, la condition renvoie true et nous affichons un message indiquant le fichier et le numéro de ligne où la sortie a commencé.

Les en-têtes sont généralement envoyés prématurément en raison d'espaces blancs ou de sauts de ligne avant la balise d'ouverture <?php, de déclarations de sortie accidentelles ou de la sortie générée par des fichiers inclus. Si vous devez envoyer des en-têtes après le début de la sortie, envisagez d'utiliser des fonctions de tamponnage de sortie comme ob_start() pour retarder la réponse jusqu'à ce que le tampon soit vidé.

Conclusion

La fonction headers_sent() est un outil utile pour vérifier si les en-têtes ont été envoyés au client dans votre application web PHP. En comprenant la syntaxe et l'utilisation de la fonction, vous pouvez facilement vérifier si les en-têtes ont été envoyés et prendre les mesures appropriées si nécessaire. Nous espérons que cet article vous a été informatif et utile pour comprendre la fonction headers_sent() en PHP.

Pratique

Qu'est-ce qui peut provoquer l'avertissement « en-têtes déjà envoyés » en PHP ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.