我在php中实现了一个基本的mvc框架。问题是,当我想创建一个未打开的动态kml文件时,因为生成了空格开头的文件。如果我从任何文件(而不是框架)执行此操作,它都可以正常工作。
链接:localhost / Radio / index / asset
Controller:indexController.php 方法:asset()
代码:
public function asset() {
$dom = new DOMDocument('1.0', 'UTF-8');
$kmlOutput = $dom->saveXML();
$kmlOutput = trim($kmlOutput);
header('Content-type: application/vnd.google-earth.kml+xml');
header('Content-disposition: attachment; filename="myfilename.kml"');
echo $kmlOutput;
}
Google地球中的错误:
kml generate:
提前致谢。
答案 0 :(得分:0)
输出开头的空白通常是由结束php tag背后的换行引起的。
<?php¶
¶
// Some code here¶
¶
?>¶
¶
<?php ?>
以外的任何东西都被视为输出。因此,永远不要在库文件中使用结束标记。
对于仅包含PHP代码的文件,结束标记(“?&gt;”)永远不会 允许的。它不是PHP所要求的,省略它会阻止它 意外地将尾随的白色空间注入响应中。