Кажется, файл в кодировке base64 выше немного глючит (ZipArchive отказался его открывать), но работает следующее:
// make the archive first
file_put_contents($fileName, base64_decode("UEsDBAoAAAAAAOmRAT1vYassFAAAABQAAAAIAAAAbWltZXR5cGVhcHBsaWNhdGlvbi9lcHViK3ppcFBLAQIUAAoAAAAAAOmRAT1vYassFAAAABQAAAAIAAAAAAAAAAAAIAAAAAAAAABtaW1ldHlwZVBLBQYAAAAAAQABADYAAAA6AAAAAAA="));
// open archive
if (($err = $zipfile->open($fileName)) !== TRUE) {
trigger_error("Could not open archive: " . $fileName, E_USER_ERROR);
}
$zipfile->add(...)
Я проверил это с помощью своего собственного кода, генерирующего epub, и это сработалохорошо.Epubcheck 1.05 подтверждает это.Кстати, если вы используете «библиотеку OPUB EPUB», имейте в виду, что она довольно глючная.Вероятно, я скоро опубликую это исправление с этим решением, но будьте осторожны до тех пор.