Maison  >  Article  >  développement back-end  >  En-tête XML PHP

En-tête XML PHP

WBOY
WBOYoriginal
2024-08-29 13:00:52695parcourir

L'en-tête PHP XML est le type de contenu XML sorti du fichier PHP au lieu du contenu d'en-tête par défaut de texte/html. La définition du type de contenu d'en-tête sur XML indique que la sortie vers le navigateur est au format XML. XML signifie Extensible Markup Language, qui désigne les règles de codage des documents. PHP étant un langage de programmation open source, il est utilisé pour définir dynamiquement le contenu Web et les applications côté serveur. De la même manière que le contenu HTML dynamique est généré en PHP, le contenu XML dynamique peut également être généré en PHP.

PUBLICITÉ Cours populaire dans cette catégorie DEVELOPPEUR PHP - Spécialisation | Série de 8 cours | 3 tests simulés

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Syntaxe

Vous trouverez ci-dessous la syntaxe de l'en-tête PHP XML :

<?php header('Content-Type: text/xml'); ?>

Ci-dessus se trouve la syntaxe de base du type de contenu à modifier en XML lors de l'utilisation de l'en-tête XML PHP.

header(header, replace, http_response_code)

La fonction d'en-tête de base envoie un en-tête HTTP brut au client ; il est appelé avant l'envoi de la sortie.

Arguments :

  • header : Il spécifie la chaîne d'en-tête à envoyer et est un paramètre obligatoire.
  • replace : Il indique si l'en-tête doit remplacer l'en-tête précédent ou ajouter un nouvel en-tête du même type. Il s'agit d'un paramètre facultatif, et la valeur par défaut est TRUE, c'est-à-dire qu'il le remplacera. Boolean FALSE autorise plusieurs en-têtes du même type.
  • http_response_code : Il force le code de réponse HTTP à une valeur spécifique et est un paramètre facultatif.
<?php
header ("Content-Type:text/xml");
?>
<xml_content>
…………………………
</xml_content>

En PHP, aucune sortie ne peut avoir lieu avant l'occurrence du header() envoyé au navigateur. Content-Type de l'en-tête indique au navigateur comment gérer le contenu. Par exemple, s'il existe un fichier PDF que le navigateur ne peut pas prendre en charge, il offrira la possibilité d'utiliser une autre application. Il vous demandera d'utiliser une autre application sur notre système ou vous demandera de télécharger une application particulière.

Si le type de contenu est text/xml, aucun jeu de caractères n'est spécifié car le fichier est traité comme us-ascii. Pour différents jeux de caractères, il doit être spécifié dans l'en-tête. Pour une utilisation XML en PHP, le type de contenu est spécifié comme « application/xml » et le jeu de caractères est « utf-8 ». L'en-tête de type de contenu fait partie du protocole HTTP et indique au client ou au serveur à quel type de données s'attendre et comment les interpréter.

Exemples d'en-tête XML PHP

Différents exemples sont mentionnés ci-dessous :

Exemple n°1

Code :

<!DOCTYPE html>
<html>
<body>
<?php
header("Content-type: text/xml");
echo "<?xml version='1.0' encoding='UTF-8'?>";
echo "<note>";
echo "Hello, this is first PHP XML header";
echo "\n";
echo "<message>Run the code to see the output</message>";
echo "</note>";
?>
</body>
</html>

Sortie :

En-tête XML PHP

Ici, le type de contenu est l'en-tête est maintenant au format XML.

XML est pris en charge par un large éventail d'utilisateurs Web et d'outils XML qui sont neutres en matière d'appareil, de fournisseur et de plate-forme.

Content-type: text/xml; charset="utf-8"
<?xml version="1.0" encoding="utf-8"?>

Ci-dessus se trouve la valeur du jeu de caractères recommandée à utiliser avec text/xml. Les processeurs MIME et XML considèrent l'entité comme UTF-8 incluse. Si, dans les cas où les données sont envoyées à l'aide d'une requête SMTP, XML doit utiliser le codage de transfert de contenu ou le codage base64. Pour les autres types de requêtes comme ESMTP, NNTP, HTTP, etc., l'encodage de transfert de contenu n'est pas requis.

Content-type: text/xml; charset="utf-16"
{BOM}<?xml version='1.0' encoding='utf-16'?>

Le jeu de caractères utf-16 est utilisé uniquement lorsque le XML est transmis via HTTP avec un protocole binaire propre sans effectuer de transformations CR et LF. Comme HTTP est un protocole binaire, l'encodage du transfert de contenu n'est pas nécessaire ici.

Content-type: text/xml
{BOM}<?xml version="1.0" encoding="utf-16"?>

Ici, le paramètre charset a été omis. Dans de tels cas, les processeurs XML supposent donc que le jeu de caractères est « us-ascii ». Cette valeur par défaut est vraie pour le texte/xml qui est transporté à l'aide d'une requête HTTP.

Mais l'omission du jeu de caractères n'est pas du tout recommandée pour l'en-tête texte/xml.

Content-type: application/xml; charset="utf-16"
{BOM}<?xml version="1.0"?>

Il est recommandé de l'utiliser avec le type de contenu d'en-tête comme application/xml. Comme le jeu de caractères est fourni ici, les processeurs XML traitent l'entité comme codée en utf-16.

Content-type: application/xml
<?xml version='1.0'?>

Ici, il n'y a ni le paramètre BOM ni le paramètre charset. XML, qui ne connaît pas le processeur, ne doit faire aucune hypothèse sur le jeu de caractères de l'entité XML.

Exemple n°2

Code :

<!DOCTYPE html>
<html>
<body>
<?php
header("Content-type: application/xml");
$arr =[
"empName" => "Karthik",
"empid" => 675,
"role" => "UI developer",
"age" => 25,
"city" => "Vizag"
];
echo json_encode($arr);
?>
</body>
</html>

Sortie :

En-tête XML PHP

Exemple #3

Code :

<!DOCTYPE html>
<html>
<body>
<?php
header("Content-type: text/xml");
echo "<?xml version='1.0' encoding='UTF-8'?>";
$data = [1,2,3,4,5,6,7,8,9];
echo json_encode($data);
?>
</body>
</html>

Sortie :

En-tête XML PHP

Conclusion

Avec cela, nous concluons notre sujet « En-tête XML PHP ». Nous avons vu ce qu'est l'en-tête PHP XML ; changer le type de contenu en XML fait ressortir beaucoup de différence pour la requête-réponse http. Nous avons analysé la syntaxe de déclaration de l'en-tête XML dans le code PHP. Un jeu de caractères est l'une des parties importantes de PHP qui décrit la forme des données envoyées. J'ai vu divers jeux de caractères tels que utf-8 et utf-16, jeux de caractères us-ascii par défaut. J'ai également vu comment l'en-tête php XML fonctionne avec certains des exemples répertoriés ci-dessus.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:PHP XML vers JSONArticle suivant:PHP XML vers JSON