Aller au contenu

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

En tant que développeur PHP, vous devrez peut-être manipuler les en-têtes HTTP dans votre application web. La fonction header() est un outil puissant qui vous permet de définir des en-têtes HTTP dans vos scripts PHP. Dans ce guide, nous couvrirons la syntaxe, les paramètres clés et les cas d'utilisation courants de la fonction header().

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

La fonction header() est une fonction intégrée de PHP qui vous permet d'envoyer des en-têtes HTTP bruts au client.

Comment utiliser la fonction header()

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

La syntaxe PHP de la fonction header()

php
header(string $header, bool $replace = true, int $response_code = 0);

La fonction prend trois paramètres :

  • string : La chaîne d'en-tête à envoyer.
  • replace : Un booléen indiquant s'il faut remplacer les en-têtes précédents portant le même nom. La valeur par défaut est true.
  • code : Le code de réponse HTTP à envoyer. La valeur par défaut est 200 (ou 0 dans les versions récentes de PHP).

Important : La fonction header() doit être appelée avant tout envoi de sortie au navigateur (y compris le HTML, les espaces blancs ou les instructions echo). Si une sortie a déjà été envoyée, PHP générera un avertissement « Headers already sent » (En-têtes déjà envoyés). Vous pouvez vérifier si les en-têtes ont été envoyés à l'aide de headers_sent(), ou utiliser la mise en tampon de sortie (ob_start()) pour retarder l'envoi.

Voici un exemple d'utilisation de la fonction header() pour définir un en-tête HTTP :

Comment utiliser la fonction header() ?

php
<?php

header("Content-Type: application/json");

Dans cet exemple, nous définissons un en-tête HTTP appelé Content-Type avec la valeur application/json. Cet en-tête sera envoyé au client lors de l'exécution du script.

Vous pouvez également utiliser les paramètres replace et code pour envoyer des redirections ou des codes de statut personnalisés :

php
<?php

// Send a 301 Moved Permanently redirect
header("Location: https://example.com", true, 301);

Conclusion

La fonction header() est un outil puissant pour manipuler les en-têtes HTTP dans votre application web PHP. En comprenant sa syntaxe, ses paramètres et l'obligation de l'appeler avant toute sortie, vous pouvez gérer efficacement les redirections, les types de contenu et les codes de statut dans vos scripts.

Pratique

Que fait la fonction header de PHP ?

Trouvez-vous cela utile?

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