有没有办法在PHP中操作内存中的ZIP文件?

时间:2015-06-10 09:19:12

标签: php ziparchive

我正在尝试从ZIP存档中读取Word .docx文件(它只是一个扩展名为.docx的ZIP文件),对其进行操作并再次将其存储在存档中。到目前为止我执行此操作的唯一方法是将其写入临时文件,ZipArchive仅适用于文件,而不是内存内容。据我所知。

我尝试将ZipArchive与php://temp结合使用,但是我遇到了文件打开错误。我认为php://temp只能用于带有文件句柄的函数,例如fopen(),而ZipArchive只能打开字符串文件名。

尝试使用以下代码打开它也会出现一个打开错误:

$zip = new ZipArchive;
$zip->open('zip://path/to/zip#path/inside/zip');

在我需要保存存档之前,有没有办法完全在内存中操作存档?提取它,将其保存到光盘,修改它,再次将其存储在存档中然后删除临时文件似乎是愚蠢和浪费。

Zip file
  \-> Zip directory structure
        \-> Word .docx file (identical to Zip format)
              \-> Word directory structure
                    \-> XML file I want to edit

0 个答案:

没有答案