在PHP中更改MIME类型的输出

我有一个PHP脚本。 大多数情况下脚本会返回html,但工作正常,但有一次(参数?Format = XML)脚本返回XML而不是HTML。

有没有什么办法可以将PHP输出的返回MIME类型从text / html更改为text / xml或application / xml?


header('Content-type: application/xml');

header()的PHP文档中提供了更多信息。


设置Content-Type标题:

header('Content-Type: text/xml');

尽管你应该使用“application / xml”来代替。


我会回答更新,因为以前的答案很好。
我已经读过Internet Explorer以忽略Mime类型标题而闻名(大部分时间?)依赖文件的内容(在某些情况下可能导致问题)。

嗯,我做了一个简单的测试:

<?php
header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root><foo a="b">Tada</foo></root>';
?>

Internet Explorer 6将其正确显示为XML。 即使我删除了xml声明。
你应该指出哪个版本有问题。

实际上,正如我上面写的那样,用IE(至少6),你甚至不需要内容类型,它可以识别XML数据并将其显示为一棵树。 你的XML是否正确?

[更新]也尝试过使用IE7,同时添加?format = xml,仍然正确显示XML。 如果我发送格式不正确的XML,则IE显示错误。 在WinXP Pro SP2 +上测试

链接地址: http://www.djcxy.com/p/47593.html

上一篇: change mime type of output in php

下一篇: Push vs. pull notification on iphone