
Originariamente inviata da
boots
Guarda a me pare che ci siano dei requisiti per creare un archivio odt, ad esempio mi pare che mimetype non deve essere compresso e con ziparchive non mi pare che puoi scegliere la compressione. Con il tuo codice ad esempio libreoffice mi dice che il file va corretto.
Io proverei solamente a sostituire content.xml:
Codice PHP:
<?php
$zip = new ZipArchive;
$res = $zip->open('test.odt');
if ($res === TRUE) {
$content = $zip->getFromName('content.xml');
/* Fai le sostituzioni su $content */
$zip->deleteName('content.xml');
$zip->addFromString('content.xml', $content);
$zip->close();
}else {
echo 'doh!';
}
Ovviamente in questo caso ti conviene lavorare su una copia, altrimenti vai a modificare l'originale