Проблема сохранения отредактированного zip-архива (docx)
Итак, вот мой код:
<?php
$zip = new ZipArchive;
if ($zip->open('test.docx') === TRUE) {
$xmlString = $zip->getFromName('word/document.xml');
$xmlString = str_replace('$FIRST_AND_LAST_NAME', 'John Doe', $xmlString);
$zip->addFromString('word/document.xml', $xmlString);
echo 'ok';
$zip->close();
} else {
echo 'failed';
}
Его цель проста. Он открывает файл test.docx, ищет все вхождения строки «$ FIRST_AND_LAST_NAME» и заменяет их на «Джон Доу».
Он отлично работает на моем сервере разработки Windows (строка «John Doe» находится в документации, когда я ее открываю).
Он не работает на моем производственном сервере Lunux (строка «$ FIRST_AND_LAST_NAME» все еще там, нет «John Doe»).
Там нет ошибки или уведомления, «ОК» печатается без каких-либо ошибок. Я удостоверился, что файл test.docx имеет привилегии, установленные в 777.