чтение файлов ODT в PHP - PullRequest
       15

чтение файлов ODT в PHP

6 голосов
/ 01 ноября 2010

Как бы вы прочитали файлы odt в PHP?Я знаю, что вы можете использовать QueryPath, но это кажется излишним ... Я просто хочу прочитать файл.

Ответы [ 4 ]

6 голосов
/ 01 ноября 2010

odt, файлы сжаты zip xml.

Если все, что вам нужно сделать, это прочитать файл в сыром виде.Просто распакуйте его и прочитайте как обычный файл.

Если вам нужно разобрать пригодный для использования текст, тогда возникает необходимость в QueryPath или каком-либо другом парсере xslt.

2 голосов
/ 29 марта 2011

OpenTBS может читать и изменять файлы OpenDocument в PHP.

Поскольку файлы OpenDocument представляют собой файлы XML, хранящиеся в zip-архиве, вы также можете использовать класс TbsZip для простого чтения zip-архива под PHP без какой-либо другой зависимости от библиотеки.

0 голосов
/ 24 февраля 2019
/*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);
0 голосов
/ 07 марта 2011

http://pear.php.net/package/OpenDocument может быть то, что вам нужно.Хотя сам этим не пользовался.

...