2010-12-03 10 views
9

J'ai préparé une chaîne XML en PHP et je voudrais laisser l'utilisateur télécharger la chaîne dans un fichier XML.Permet à l'utilisateur de télécharger un fichier XML

Est-il possible d'offrir à l'utilisateur le téléchargement (par exemple text.xml) sans enregistrer physiquement le fichier xml sur le serveur?

Répondre

39
<?php 
header('Content-type: text/xml'); 
header('Content-Disposition: attachment; filename="text.xml"'); 

echo $xml_contents; 
+0

Cela fait l'affaire. Merci! – PeeHaa

+0

Essayé ceci et le fichier text.xml téléchargé a 3 fils de retour de la ligne de chariot en haut du fichier. Est-ce juste moi? – RayLoveless

11

Si vous utilisez une sorte de mise en mémoire tampon de sortie comme une partie de votre cadre, vous devez ajouter exit() en dessous de la sortie XML, comme ça:

<?php 
header('Content-type: text/xml'); 
header('Content-Disposition: attachment; filename="text.xml"'); 

echo $xml_contents; 
exit(); 

Sinon, vous obtiendrez l'ensemble tamponnées page, pas seulement la sortie XML.