php代码变成xml?
问题描述:
我试图评估mapvar.php的内容并将其保存到变量。这是代码:php代码变成xml?
<?php
$filename = strval(rand(0,99999999999)).'.svg';
$fp=fopen($filename, 'wb+');
ob_start();
include 'mapvar.php';
$output = ob_get_clean();
ob_flush();
file_put_contents($filename,$output);
?>
<form action="download.php" method="post">
<input type="hidden" name="filename" value="<?php echo $filename ?>" />
<input type="submit" value="dl" />
</form>
<?php fclose($fp); ?>
出于某种原因,当我打开文件时,此消息显示出来(在Chrome和FF):
“这个XML文件没有出现有任何样式信息与之相关的文档树如下所示。“
...然后评估的html代码。
它似乎是由ob_start()的东西造成的,这是为什么?
答
mapvar.php
可能会发送一个Content-Type: image/svg+xml
标题或类似的东西。您可以稍后将其覆盖:
$output = ob_get_clean();
ob_flush();
header('Content-Type: text/html');
而且,没有必要使用fopen
或fclose
与file_put_contents
。
+0
啊,就是这样,我修改了mapvar.php的头文件,我不能像你的那样改变头文件(不能修改头文件信息 - 头文件已经发送)。谢谢。 – chintogtokh
你的mapvar.php是怎么样的? –
这是一个带有php变量的svg图像。无论如何解决。 – chintogtokh