2010-12-03 17 views
9

He preparado una cadena XML en PHP y me gustaría que el usuario descargue la cadena en un archivo XML.Deje que el usuario descargue un archivo XML

¿Es posible ofrecer al usuario la descarga (por ejemplo text.xml) sin guardar físicamente el archivo xml en el servidor?

Respuesta

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

echo $xml_contents; 
+0

Eso seguro que es el truco. ¡Gracias! – PeeHaa

+0

Intenté esto y el archivo text.xml descargado tiene 3 alimentaciones de línea de retorno de carro en la parte superior del archivo. ¿Esto solo soy yo? – RayLoveless

11

Si utiliza algún tipo de búfer de salida como parte de su marco debe agregar la salida() por debajo de la salida XML, así:

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

echo $xml_contents; 
exit(); 

De lo contrario obtendrá el conjunto tamponada página, no solo la salida XML.

Cuestiones relacionadas