PHP - чтение .DOC файлов

Нашел функцию которая парсит .doc файлы, но проблема в том, что почему-то, она всегда возвращает только последнюю строку в файле. Не пойму почему. Подскажетие в чем проблема? Хочу воспользоваться именно этой функцией, т.к. PHPWord также не читает .doc, а использовать COM - это уже на крайний случай.

function readDoc($filename) {
    if (file_exists($filename)) {
        if ($fh = fopen($filename, 'r')) {
            $headers = fread($fh, 0xA00);

            // 1 = (ord(n)*1) ; Document has from 0 to 255 characters
            $n1 = ( ord($headers[0x21C]) - 1 );

            // 1 = ((ord(n)-8)*256) ; Document has from 256 to 63743 characters
            $n2 = ( ( ord($headers[0x21D]) - 8 ) * 256 );

            // 1 = ((ord(n)*256)*256) ; Document has from 63744 to 16775423 characters
            $n3 = ( ( ord($headers[0x21E]) * 256 ) * 256 );

            // 1 = (((ord(n)*256)*256)*256) ; Document has from 16775424 to 4294965504 characters
            $n4 = ( ( ( ord($headers[0x21F]) * 256 ) * 256 ) * 256 );

            // Total length of text in the document
            $textLength = ($n1 + $n2 + $n3 + $n4);

            $extracted_plaintext = mb_convert_encoding(fread($fh, $textLength), 'UTF-8', 'UTF-16LE' );

            return nl2br($extracted_plaintext);

        } else {
            return 0;
        }
    } else {
        return 0;
    }
}

echo readDoc('test.doc');

Ответы (0 шт):