2012-02-09 47 views
2

这里本教程使用PHP从数据库生成KML的良好来源... http://code.google.com/apis/kml/articles/phpmysqlkml.html设置默认“保存类型”,而不是.KML的.PHP

但是我的问题是,当剧本然,生成的文件保存为.php,而不是.kml。我怎样才能让它成为.kml?以下是具体的代码。谢谢!

<?php 
$kml = array('<?xml version="1.0" encoding="UTF-8"?>'); 
$kml[] = '<kml xmlns="http://www.opengis.net/kml/2.2">'; 
$kml[] = '<Document>'; 
$kml[] = '</Document>'; 
$kml[] = '</kml>'; 
$kmlOutput = join("\n", $kml); 
header('Content-type: application/vnd.google-earth.kml+xml'); 
echo $kmlOutput; 
?> 

回答

8

文件您正在访问生成文件可能有一个PHP扩展,从而浏览器认为这是你正在下载

确保你在你的头文件名设置与延延伸:

header('Content-Disposition: attachment; filename="file.kml"'); 
+0

记住,如果你不指定这个头,浏览器会发送当前执行脚本的文件名。 – 2012-02-09 09:18:01

+0

+1,因为你是第一个 – 2012-02-09 09:20:42

+0

@BarryChapman感谢兄弟!对不起,我先读了其他评论,但是我给了你一个复选标记! – 2012-02-09 09:29:04

3
header('Content-type: application/vnd.google-earth.kml+xml'); 
header('Content-disposition: attachment; filename="myfilename.kml"'); 
+0

哇,这是我找到的完美解决方案!非常感谢!我不知道该如何谢谢你!你节省了我的时间!坐了很久想着怎么做!再次感谢! – 2012-02-09 09:16:24

+0

@BrandonYoung乐于帮忙。 – 2012-02-09 09:19:59

相关问题