Le rôle de la fonction header php
Le rôle de la fonction header() en PHP est d'envoyer informations d'en-tête au client.
Recommandé : [Tutoriel PHP]
Qu'est-ce que les informations d'en-tête ?
Voici juste une brève explication, veuillez lire le protocole http en détail.
Dans le protocole HTTP, le contenu de la réponse côté serveur comprend deux parties : les informations d'en-tête (en-tête) et le contenu du corps. Les informations d'en-tête ici ne sont pas la partie
De même, le contenu du corps n'est pas < /BODY>. Les informations d'en-tête sont invisibles pour l'utilisateur et contiennent de nombreux éléments, notamment des informations sur le serveur, la date, la longueur du contenu, etc. Le contenu du corps correspond à l’intégralité du code HTML, c’est-à-dire tout ce que vous pouvez voir.A quoi servent les informations d'en-tête ?
Les informations d'en-tête ont de nombreuses fonctions, les plus importantes sont les suivantes :
1 Sauter : Lorsque le navigateur reçoit l'emplacement : xxxx dans les informations d'en-tête, il le fera automatiquement. Accédez à l'adresse URL pointée par xxxx. Ceci est un peu similaire à l'écriture d'un saut en js. Mais ce saut n'est connu que du navigateur, et les utilisateurs ne peuvent pas le voir, qu'il y ait ou non quelque chose dans le contenu.
2. Précisez le contenu de la page Web : Pour un même fichier XML, si les informations d'en-tête précisent : Type de contenu : application/xml, le navigateur l'analysera selon le format de fichier XML. Cependant, si les informations d'en-tête sont : Content-type : text/xml, le navigateur les analysera en tant que texte stocké. (Les navigateurs n'analysent pas les fichiers en fonction des extensions)
3. Pièce jointe : je ne sais pas si vous avez remarqué que parfois, lorsque vous téléchargez quelque chose à partir de certains sites Web et cliquez sur le lien de téléchargement, le navigateur ouvrira la pièce jointe. en tant que page Web, tous les caractères affichés sont tronqués, ce problème est également lié aux informations d'en-tête. Parfois, le navigateur détermine s'il doit ouvrir ou enregistrer en fonction du type de contenu. Il arrive donc qu'il fasse un mauvais jugement (principalement parce que le concepteur du site Web oublie d'écrire le type de contenu). En fait, il existe une autre façon de spécifier que le contenu est une pièce jointe et doit être enregistré : Content-Disposition: filename="xxxxx"
Comment l'écrire en PHP. ?
1. Sauter :
header("Location: http://www.example.com/");
2 Contenu spécifié :
header('Content-type: application/pdf');
Pièce jointe :
// 指定内容为附件 header('Content-Disposition: attachment; filename="downloaded.pdf"'); // 打开文件,并输出 readfile('original.pdf');
Enfin, je voudrais rappeler. tout le monde doit prêter attention à quelque chose, toutes les informations d'en-tête doivent précéder le contenu du corps. S'il y a une sortie, les informations d'en-tête écrites par la fonction d'en-tête seront inutiles. Par exemple, au début du fichier
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!