Mysql
 sql >> база данни >  >> RDS >> Mysql

Вземете съдържание на docx файл, който е запазен в mysql база данни като blob тип в php

Направете заявка, за да изберете данните, след което поставете резултата в променлива. Използвайте file_put_content, за да получите docx файла. Просто внимавайте със заглавката.

За да го прочетете, процесът е различен от документ. Трябва да "разархивирате" docx и да прочетете xml файла в него. Можете да използвате тази функция:

<?php

/*Name of the document file*/
$document = 'filename.docx';

/**Function to extract text*/
function extracttext($filename) {
    //Check for extension
    $ext = end(explode('.', $filename));

    //if its docx file
    if($ext == 'docx')
    $dataFile = "word/document.xml";
    //else it must be odt file
    else
    $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 = DOMDocument::loadXML($text, LIBXML_NOENT | LIBXML_XINCLUDE | LIBXML_NOERROR | LIBXML_NOWARNING);
            // Remove XML formatting tags and return the text
            return strip_tags($xml->saveXML());
        }
        //Close the archive file
        $zip->close();
    }

    // In case of failure return a message
    return "File not found";
}

echo extracttext($document);
?>

(източник на кода:http ://www.botskool.com/geeks/how-extract-text-docx-or-odt-files-using-php )



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL - WHERE условие за SUM()

  2. Най-бързият начин за повторение през голяма таблица с помощта на JDBC

  3. MySQL:Уникално ограничение за множество полета

  4. Съобщение за грешка:Изключение в основната нишка org.hibernate.HibernateException:Грешка при достъпа до stax поток

  5. ...mysql2/mysql2.so:[BUG] Грешка при сегментиране ruby ​​2.0.0p247