在php中读取odt文件
您将如何在PHP中读取odt文件?我知道你可以使用QueryPath,但这似乎有点过分,。。我只想读文件。odt,文件是压缩的xml 如果您只需要读取原始文件。只需解压缩它,像普通文件一样读取它 如果需要解析出可用的文本,则输入对QueryPath或其他xslt解析器的需求。可能就是您所需要的。不过,我自己还没有使用过它。能够在PHP中读取和修改OpenDocument文件在php中读取odt文件,php,opendocument,Php,Opendocument,您将如何在PHP中读取odt文件?我知道你可以使用QueryPath,但这似乎有点过分,。。我只想读文件。odt,文件是压缩的xml 如果您只需要读取原始文件。只需解压缩它,像普通文件一样读取它 如果需要解析出可用的文本,则输入对QueryPath或其他xslt解析器的需求。可能就是您所需要的。不过,我自己还没有使用过它。能够在PHP中读取和修改OpenDocument文件 由于OpenDocument文件是存储在zip归档文件中的XML文件,因此您也可以使用该类在PHP下简单地读取zip归档文
由于OpenDocument文件是存储在zip归档文件中的XML文件,因此您也可以使用该类在PHP下简单地读取zip归档文件,而不需要任何其他库依赖项。我不知道如何编写代码。。使用zip_open,然后zip_read,。。那么文件内容呢?这里有一篇很棒的小文章,用10行代码完成了整个过程。啊,。。。我所需要做的就是更改一些文件权限,这没什么错,对不起
/*Name of the document file*/
$document = 'Template.odt';
/**Function to extract text*/
function extracttext($filename) {
$dataFile = "content.xml";
//Create a new ZIP archive object
$zip = new ZipArchive;
// Open the archive file
if (true === $zip->open($filename)) {
// If successful, search for the data file in the archive
if (($index = $zip->locateName($dataFile)) !== false) {
// Index found! Now read it to a string
$text = $zip->getFromIndex($index);
// Load XML from a string
// Ignore errors and warnings
$xml = new DOMDocument;
$xml->loadXML($text, LIBXML_NOENT | LIBXML_XINCLUDE | LIBXML_NOERROR | LIBXML_NOWARNING);
// Return XML
return $xml->saveXML();
}
//Close the archive file
$zip->close();
}
// In case of failure return a message
return "File no`enter code here`t found";
}
echo extracttext($document);