0
我有一個PHP頁面,它構成了一個KMZ文件供下載。 此KMZ包含帶有JPEG疊加層的KML。在Apache上使用PHP生成的KMZ文件的正確標題和配置
我認爲這個文件是正確的,因爲KML可以被Google Earth打開而沒有問題。這是我用來從KML和JPEG疊加產生KMZ的片段:
$zip = new ZipArchive();
$tmp_file = tempnam('.','');
$zip->open($tmp_file, ZipArchive::CREATE);
$download_file = file_get_contents($kml);
$zip->addFromString(basename($kml),$download_file);
$download_file = file_get_contents($jpeg);
$zip->addFromString("files/".basename($jpeg),$download_file);
$zip->close();
header('Content-disposition: attachment; filename=test.kmz');
header('Content-Type: application/vnd.google-earth.kmz .kmz');
readfile($tmp_file);
的問題是,無論是在OS X和Windows的KMZ無法在谷歌地球打開。
但是,如果我在Windows中解壓縮,則會打開生成的KML + JPEG而不會出現問題。
在OSX中,我無法解壓縮KMZ,因爲它導致損壞。 我認爲這個問題可能是頭文件或MIME類型。
有人有這方面的經驗嗎?