更改php输出的mime类型
时间:2020-03-06 14:54:36 来源:igfitidea点击:
我有一个PHP脚本。大多数情况下,脚本返回html,这是可以正常工作的,但是在某些情况下(参数?Format = XML),脚本返回的是XML而不是HTML。
有什么方法可以随时将返回的php输出的mime类型从text / html更改为text / xml或者application / xml?
解决方案
header('Content-type: application/xml');
有关更多信息,请参见PHP文档中的header()
。
设置Content-Type
标头:
header('Content-Type: text/xml');
虽然我们可能应该改用" application / xml"。
发送任何输出之前,应发送" Content-Type"标头。
header('Content-Type: text/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 +上测试