将文件添加到未使用PHP解压缩的zip

use*_*est 4 php zip epub

我正在看一个创建ePub文件的教程.它声明包含ePub书的zip必须包含一个名为mimetype的文本文件,"必须首先在zip文件中,未压缩".他给出的示例使用命令行工具,我想知道如何在PHP中做同样的事情.

我认为它首先在zip文件中,只要它是我在代码中添加的第一件事,但是如何将它添加到未压缩的zip中.还是我误读了这个?

提前致谢.

小智 5

看来上面的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(...)
Run Code Online (Sandbox Code Playgroud)

我用自己的epub生成代码测试了它,它工作正常.Epubcheck 1.05验证它.顺便说一下,如果你正在使用"OPL的EPUB库",请注意它是非常错误的.我很可能会在解决这个问题后立即发布修复程序,但要注意这一点.