Question

My KML Size is getting larger and takes a lot of time to download. I read that KMZ is very much compressed version and has less file Size. I already have KML string ready. How to create a kmz file from KML string?

Was it helpful?

Solution

Here is a php code to create KMZ file from KML on the fly. My KML of 6.0 Mb was reduced to 600Kb. You can also find the answer in here http://shprabin.wordpress.com/2013/06/24/creating-kmz-file-on-the-fly-php/

<?php

header('Content-Type: application/vnd.google-earth.kmz');
header('Content-Disposition: attachment; filename="test.kmz"');

$kmlString="This is your KML string";

$file = "test.kmz";
$zip = new ZipArchive();

if ($zip->open($file, ZIPARCHIVE::CREATE)!==TRUE) {
exit("cannot open <$file>\n");
}
$zip->addFromString("doc.kml", $kmlString);
$zip->close();
echo file_get_contents($file);

?>
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top