在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