生成的xml文件对计算机有害吗?

时间:2013-03-07 11:50:27

标签: php xml header http-headers header-files

我做了一个xml文件并强制下载这些标题:

header('Content-disposition: attachment; filename="export.xml"');
header('Content-type: application/xml; charset=utf8');
readfile('export.xml');

但是在下载之前我看到一个对话框,说明这个文件对我的电脑有害吗?如何摆脱这个对话?也许我的标题错了?

upd 好吧,什么都不做,我在我的测试托管上做了测试,你可以在这里查看:site with generation link和xml文件:{{3} }

3 个答案:

答案 0 :(得分:2)

尝试将application/xml更改为text/xml。可能您的浏览器认为application表示可执行文件。

答案 1 :(得分:1)

试试这个:

<?php 
header('Content-disposition: attachment; filename="export.xml"');
header('Content-type: "text/xml"; charset="utf8"');
readfile('export.xml');
?>

答案 2 :(得分:0)

  

注意:这并不能解决您的问题,但它确实解决了我在计算机上发出通知的问题(windows,chrome,apache webserver,PHP 5.4.10)。我将它留在这里供未来的访客使用。

有些浏览器不仅会查找标题,还会查找网址中的“文件名”。

例如,如果您下载包含 XML的PHP​​文件,浏览器可能会将其识别为危险文件(因为它可以在您的系统上执行,或者不在某些白名单中或不在白名单中) :

http://example.com/xml-download.php

一个简单的解决方案是让此文件不再以.php结尾,例如添加?

http://example.com/xml-download.php?

继续这样做甚至以这样的方式发出文件名信号:

http://example.com/xml-download.php?export.xml

(最后一个不是必需的,但对于一些较旧的浏览器尤其有用)