Предупреждение : это невозможно сделать в памяти - ZipArchive
не может работать с «файлами отображения памяти» .
Вы можете получить данные файла из zip-файла в переменную (память) с помощью file_get_contents
Документы , поскольку она поддерживает zip://
Оболочка потока Документы :
$zipFile = './data/zip.kmz'; # path of zip-file
$fileInZip = 'test.txt'; # name the file to obtain
# read the file's data:
$path = sprintf('zip://%s#%s', $zipFile, $fileInZip);
$fileData = file_get_contents($path);
Вы можете получить доступ только к локальным файлам с помощью zip://
или через ZipArchive. Для этого вы можете сначала скопировать содержимое во временный файл и работать с ним:
$zip = 'http://www.curriculummagic.com/AdvancedBalloons.kmz';
$file = 'doc.kml';
$ext = pathinfo($zip, PATHINFO_EXTENSION);
$temp = tempnam(sys_get_temp_dir(), $ext);
copy($zip, $temp);
$data = file_get_contents("zip://$temp#$file");
unlink($temp);