2017-11-19 5 views
-2

Ich verwende die tinybutstrong, um docx-Dateien aus einer Vorlage zu generieren. Derzeit wird das generierte Dokument als Datei heruntergeladen. Der folgende Code ist im Einsatz:Speichern docx in mysql

... 
$output_file_name = date('Y_m_d').'CR_Id='.$Id.'.docx'; 
$TBS->Show(OPENTBS_DOWNLOAD, $output_file_name); 
exit(); 

Aber ich will die erzeugten docx haben direkt in mysql als Datei gespeichert. Ich habe eine Tabelle in MySQL, um Dateien hochzuladen.

Ist das möglich? Wenn ja, wie sollte dann das Dokument aussehen?

dank

Antwort

0

Es ist generell eine schlechte Praxis binäre Dateien in einer Datenbank zu speichern.

Trotzdem ist es möglich, das binäre Ergebnis des OpenTBS direkt in PHP zu erhalten, anstatt es in einer Datei zu speichern.

Beispiel:

$TBS->Show(OPENTBS_STRING); 
$data = mysql_real_escape_string($TBS->Source); 
$sql = "INSERT INTO my_table (bin_data) VALUES ('$data')"; 
$result = mysql_query($sql); 

Siehe documentation für weitere Informationen

+0

Hallo, vielen Dank für Ihre Antwort. Ist es möglich, jede heruntergeladene Kopie in mysql zu speichern? So lassen Sie mich sagen, dass ich meinen submitited Code verwende, um die Akte als docx herunterzuladen und eine Kopie in mysql in der gleichen Zeit zu speichern. Ich würde Ihre Eingabe sehr begrüßen. Vielen Dank. – user727198

+0

Sie können die Binärquelle der von OpenTBS generierten Datei wie jede andere lokale Datei abrufen: '$ data = file_get_contents ($ output_file_name);'. Dann können Sie es in die Datenbank einfügen, indem Sie das Ende der oben abgeschnittenen verwenden. Sie sollten in Betracht ziehen, den binären Dateiinhalt nicht in der Datenbank zu speichern. – Skrol29