0
다운로드 할 KMZ 파일을 구성하는 PHP 페이지가 있습니다. 이 KMZ에는 JPEG 오버레이가있는 KML이 포함되어 있습니다.Apache에서 PHP로 생성 된 KMZ 파일의 헤더와 구성이 정확합니다.
Google 어스에서 KML을 문제없이 열 수 있기 때문에이 파일이 올바른 것으로 간주합니다.
$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 Google 어스에서 열 수 없습니다 수 있다는 것입니다 : 이것은 내가 KML 및 JPEG 오버레이에서 KMZ를 생성하는 데 사용하는 조각이다.
그러나 Windows에서 압축을 해제하면 결과 KML + JPEG가 문제없이 열립니다.
OSX에서는 손상된 KMZ를 압축 해제 할 수 없습니다. 문제는 헤더 또는 MIME 형식 일 수 있다고 생각합니다.
누군가이 경험이 있습니까?