L'emplacement de l'en-tête en PHP

Subodh Poudel 30 janvier 2023
  1. Introduction à la fonction Header() et à sa syntaxe en PHP
  2. Utilisez la fonction header() avec la chaîne d’en-tête location: en PHP
L'emplacement de l'en-tête en PHP

Cet article présentera le concept de la fonction header() et sa syntaxe en PHP. Il couvrira les règles d’écriture d’en-tête en PHP. Cette méthode fonctionnera également avec les en-têtes Content-Type et Content-Disposition.

Nous présenterons également la chaîne d’en-tête location: dans cet article. Nous expliquerons l’utilisation et l’essence de l’en-tête de localisation en PHP. L’article montrera comment l’emplacement de l’en-tête envoie le code de réponse et redirige le navigateur vers une autre page.

Introduction à la fonction Header() et à sa syntaxe en PHP

La fonction header() est une fonction PHP intégrée qui nous permet d’envoyer un en-tête HTTP brut au client. L’en-tête envoyé est au format brut. Nous devons invoquer la fonction header() avant d’envoyer une sortie. La sortie sous quelque forme que ce soit, comme la sortie envoyée par les balises HTML ou un formulaire PHP, doit être supprimée avant d’envoyer les informations d’en-tête. Ainsi on peut contrôler les informations envoyées au navigateur par le serveur avant toute sortie.

La syntaxe de la fonction header() est : header(string,replace,http_response_code);. La fonction accepte trois paramètres. Le premier argument est une chaîne d’en-tête. Il existe deux types de chaînes d’en-tête. Le premier type est une chaîne qui commence par HTTP/. Il spécifie les codes HTTP à envoyer au navigateur. Le deuxième type de chaîne d’en-tête est l’en-tête location:, qui redirige le navigateur vers l’emplacement spécifié. Le paramètre suivant de la fonction est replace, qui représente une valeur booléenne. C’est un paramètre facultatif qui détermine si l’en-tête doit remplacer l’en-tête similaire précédent. Le troisième paramètre, http_response code est également un paramètre facultatif qui force le code de réponse HTTP à la valeur spécifiée.

Par exemple, créez une fonction header() et utilisez la chaîne d’en-tête comme Content-Type. Écrivez la valeur du Content-Type comme application/pdf. Créez à nouveau une autre fonction header(). Cette fois, écrivez la chaîne d’en-tête comme Content-Disposition. Donnez la valeur de la chaîne en tant que attachment. N’oubliez pas un point-virgule après. Écrivez un autre attribut filename après le point-virgule et fournissez le nom de fichier sous la forme download.pdf.

Lorsque nous exécutons le script suivant, une boîte de dialogue de téléchargement apparaît. Il vous demande de télécharger un fichier pdf nommé download.pdf. Le premier en-tête indique que le fichier doit être au format pdf, et le deuxième en-tête indique le nom de fichier du fichier et force le navigateur à afficher la boîte de dialogue pour enregistrer le fichier.

Exemple de code :

#php 7.x
<?php
header('Content-Type: application/pdf'); 
header('Content-Disposition: attachment; filename="downloaded.pdf"');
?>

Utilisez la fonction header() avec la chaîne d’en-tête location: en PHP

Nous pouvons utiliser la fonction header() avec la chaîne d’en-tête location: en PHP. La chaîne d’en-tête redirige la page Web vers l’emplacement spécifié. Il est généralement utilisé dans les pages Web pour rediriger l’utilisateur vers une page spécifique après avoir soumis l’entrée. Par exemple, lorsque l’utilisateur saisit les informations d’identification correctes lors de la connexion, nous pouvons utiliser l’emplacement de l’en-tête pour les rediriger vers la page d’accueil. Nous pouvons spécifier la valeur booléenne et le code de réponse dans la fonction header(). Cependant, ces paramètres sont facultatifs. La valeur booléenne par défaut est true, ce qui signifie qu’elle remplacera l’en-tête similaire précédent. Nous pouvons également fournir le code de réponse comme troisième paramètre. Le code de réponse par défaut est 302. Par exemple, nous pouvons écrire un tableau dans un fichier et rediriger la page actuelle vers une autre page affichant le message que le fichier a été écrit. Nous pouvons utiliser la fonction file_put_contents() pour écrire dans le fichier.

Par exemple, créez un tableau sur la variable $day. Créez les clés comme weather et time ​​et les valeurs respectives comme Sunny et 1:30 pm. Ensuite, utilisez le file_input_contents() et spécifiez un fichier file.txt comme premier paramètre. Utilisez la fonction print_r() comme deuxième paramètre. Fournissez la variable $day et la valeur booléenne true comme paramètres de la fonction print_r(). Évaluez l’expression entière à l’aide de la condition if. A l’intérieur du bloc if, utilisez la fonction header(). Spécifiez l’emplacement en tant que message.php à l’intérieur de la fonction. Utilisez les deux points : pour spécifier l’emplacement. Notez qu’il ne doit pas y avoir d’espace entre les deux points location et :. Créez un fichier PHP message.php. Affiche un message dans le fichier indiquant que le fichier a été écrit.

Dans l’exemple ci-dessus, le tableau est écrit dans le fichier file.txt. La condition if évalue vrai et la fonction header() redirige l’emplacement vers message.php. Ainsi, la sortie est affichée. Nous pouvons également voir l’URL modifiée dans la barre d’adresse. S’il y avait eu une autre fonction d’en-tête sous la fonction d’en-tête existante, cette dernière remplacerait l’ancienne en-tête. C’est parce que la valeur par défaut de l’option replace est vraie dans la fonction header().

Exemple de code :

#php 7.x
<?php
$day = array (
    'weather' => 'Sunny',
    'time' => '1:30 pm',
);
if(file_put_contents('file.txt', print_r($day, true))){
    header("location: message.php");
}
?>

Production:

The file has been written.
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn