我试图在xml文件中写一个php代码,但代码不能输出..
<?xml version="1.0"?>
<MultimediaGallery>
<file type="video">
<thumb>media/videos/thumbs/<?php echo "disney.png"; ?></thumb>
<source>https://www.youtube.com/watch?v=irF02LNZLpE</source>
<description>Youtube Video: Introduction to HTML5</description>
</file>
</MultimediaGallery>
结果(浏览器中.xml文件的图像)
答案 0 :(得分:2)
重命名文件.php并更改您的代码:
<?php
header("Content-type: text/xml");
?>
<?xml version="1.0"?>
<file type="video">
<thumb>media/videos/thumbs/<?php echo "disney.png"; ?></thumb>
<source>https://www.youtube.com/watch?v=irF02LNZLpE</source>
<description>Youtube Video: Introduction to HTML5</description>
</file>
</MultimediaGallery>
答案 1 :(得分:0)
不解释XML文件中的PHP。但是,PHP使用可以与XML兼容的语法。所以PHP文件可以是有效的XML。
XML具有称为处理指令的节点类型。它包含处理XML的程序/应用程序的信息。该程序可以是Web浏览器,PHP解释器或其他不同的东西。但程序必须知道如何解释特定的处理指令。
XML处理指令示例:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
通用语法是:
<?PITarget PIContent?>
PHP使用兼容语法作为其指令:
<?php PHPSource?>
这就是为什么PHP文件可以是有效的XML文件。你可以像英语,法语,德语和其他语言一样使用相同的字母,但你仍然需要知道实际的语言才能理解单词。
因此将文件重命名为*.php
。这是Web服务器的信息。它指定该文件包含PHP源并且必须执行。 PHP脚本生成的输出将发送到浏览器。文件扩展名与浏览器无关。服务器将内容类型标头发送到浏览器。在脚本上,哪种内容类型取决于Web服务器的配置以及它是否为脚本。
在PHP脚本中,您可以使用header()
发送/修改该信息。
<?php
header("Content-type: application/xml; charset: utf-8");
?>
<?xml version="1.0"?>
...
如果您希望在URL中包含扩展名.xml
,则可以使用重写规则和/或更改Web服务器配置以将*.xml
文件作为PHP脚本执行。但这不会改变Web浏览器处理响应的方式。