你将如何阅读PHP中的odt文件?我知道你可以使用QueryPath,但这看起来有点过分,我只是想读取文件。
答案 0 :(得分:6)
odt,文件是zip压缩xml。
如果你需要做的就是读取原始文件。只需将其解压缩并像普通文件一样阅读。
如果需要解析可用的文本,则需要输入QueryPath或其他一些xslt解析器。
答案 1 :(得分:2)
OpenTBS能够在PHP中读取和修改OpenDocument文件。
由于OpenDocument文件是存储在zip存档中的XML文件,因此您还可以使用TbsZip类在PHP下读取zip存档,而不需要任何其他库依赖。
答案 2 :(得分:0)
http://pear.php.net/package/OpenDocument可能就是您所需要的。但是,我自己没有使用它。
答案 3 :(得分:0)
/*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);