如何用PHP创建一个XML文件,并已将其提示下载?(How do I create an XML f

2019-10-29 12:10发布

我使用DOM文档创建一个XML文件中:

$dom = new DOMDocument('1.0', 'iso-8859-1');
echo $dom->saveXML();

当我点击链接到这个文件,它只是显示为一个XML文件。 如何提示下载呢? 此外,我怎么能提示下载为“backup_11_7_09.xml”(插入今天的日期,并把它作为XML),而不是它是“backup.php” PHP文件的真实姓名

Answer 1:

Content-Disposition标题为您的回音之前附件:

<?  header('Content-Disposition: attachment;filename=myfile.xml'); ?>

当然,你可以格式化myfile.xml使用strftime()来获取文件名格式化的日期:

<?
    $name = strftime('backup_%m_%d_%Y.xml');
    header('Content-Disposition: attachment;filename=' . $name);
    header('Content-Type: text/xml');

    echo $dom->saveXML();
?>


Answer 2:

<?php

// We'll be outputting a PDF
header('Content-type: text/xml');

// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="my xml file.xml"');

// The PDF source is in original.pdf
readfile('saved.xml'); // or otherwise print your xml to the response stream
?>

使用内容处置头。



Answer 3:

这应该工作:

header('Content-Disposition: attachment; filename=dom.xml');
header("Content-Type: application/force-download");
header('Pragma: private');
header('Cache-control: private, must-revalidate');

$dom = new DOMDocument('1.0', 'iso-8859-1');
echo $dom->saveXML();

如果你使用一个会话,使用下面的设置,以防止问题IE6:

session_cache_limiter("must-revalidate");
session_start();


文章来源: How do I create an XML file with php and have it prompt to download?