我正在尝试从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