PHP生成的XML无法在IE中下载

lin*_*tal 0 php xml http-headers

我有一个PHP脚本生成的XML提要,运行mod_rewrite.IE打开提要确定但我无法将文件保存到磁盘或导入到Excel.

我试图在网址中访问的文件类似于:

http://domain.com/download/export.xml
Run Code Online (Sandbox Code Playgroud)

这将写入下载PHP脚本,实际上不是XML文件.

设置如下所示的标题后,仍然无法让IE保存文件.此外,由于它无法显示普通源,因此IE会对XML进行各种样式更改,因此无法复制并粘贴到记事本中.

<?php
header("Content-type: text/xml");
header('Content-Disposition: attachment; filename="QuoteExport_'.$quoteDate.'_'.$quoteSlot.'.xml"');
Run Code Online (Sandbox Code Playgroud)

有谁知道解决方案?谢谢.

编辑:感谢您的帮助到目前为止.我尝试了这些标题的组合,仍然没有得到我想要的结果.无论我设置什么,IE总是在浏览器中在线显示,无法下载.保存功能也仍然无法正常工作.任何其他想法如何强制IE使用标头将XML保存为文件?

编辑2:状态现在是IE提供打开/保存的选项,但在尝试保存时,有一个弹出窗口说它"无法打开这个网站.".但与此同时,open选项显示内容没有问题.

Yah*_*hel 5

要强制ie和其他浏览器下载,您必须指定特定的标头,如下例所示:

    header("Content-disposition: attachment; filename=\"".$fileName . ".csv\"");
    header("Content-Type: application/force-download");
    header("Content-Transfer-Encoding: binary");
    header("Pragma: no-cache");
    header("Expires: 0");
Run Code Online (Sandbox Code Playgroud)

其他明智的,如果你使用text/xml,即认为他知道如何显示它并且这样做.