3.1 Le Mimetype et les entêtes dans les fichiers
Lorsque vous produisez d'autres contenus que HTML avec PHP, il faut veiller à deux choses:
-
Votre serveur doit indiquer à votre client de quel type de document il s'agit (indiquer le "Mime Type"
-
Le document envoyé par votre programme doit contenir les déclarations nécessaires
A. Définition du mime type
-
Cette instruction qui modifie le message HTTP du serveur doit intervenir
tout au début du fichier !
(donc éviter toute instruction de type echo, print, etc. avant)
-
Attention, certains formats XML ont leur propre mime-type !
Exemple XML
Header("Content-type: text/xml);
Exemple SVG
Header("Content-type: image/svg+xml");
Exemple RDF
Header("Content-type: application/rdf+xml");
B. Les entêtes de vos fichiers
-
Il s'agit des lignes 1 (et plus) dans le document transmis.
XML (simple)
print('<?xml version="1.0" encoding="iso-8859-1"?>');
Avec SVG:
print('<?xml version="1.0" encoding="iso-8859-1"?>' . "\n");
print('<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/PR-SVG-20010719/DTD/svg10.dtd">' . "\n");
Exemple 3-1: Générer et afficher un simple contenu avec XML
<?php
header("Content-type: text/xml");
print('<?xml version="1.0" encoding="iso-8859-1"?>' . "\n");
print('<?xml-stylesheet href="simple-calcul-xml.css" type="text/css" ?>');
$leisure_satisfaction = 5; $work_satisfaction = 7; $family_satisfaction = 8;
$index = ($leisure_satisfaction + $work_satisfaction + $family_satisfaction) / 3 ;
echo "<resultat>
Satisfaction Index = $index
</resultat>
";
?>
Note: pour aller plus loin, voir: