我有一個數據庫表來存儲我的模板(.docx文件)。我正在使用openTbs來處理這些模板。我需要的是取出模板並將其存儲在服務器本身中,然後使用openTbs進行編輯。如何將文件從數據庫保存到服務器php
我的問題是,我如何從數據庫檢索.docx文件並將其存儲在服務器端。 (該存儲可以是暫時的,但我想用openTbs對其進行編輯。)
在此先感謝.......
我有一個數據庫表來存儲我的模板(.docx文件)。我正在使用openTbs來處理這些模板。我需要的是取出模板並將其存儲在服務器本身中,然後使用openTbs進行編輯。如何將文件從數據庫保存到服務器php
我的問題是,我如何從數據庫檢索.docx文件並將其存儲在服務器端。 (該存儲可以是暫時的,但我想用openTbs對其進行編輯。)
在此先感謝.......
這是不好的做法,以保存二進制數據在數據庫中,大多是當這個數據打算由文件服務器處理,如圖片或DOCX。
無論如何,自OpenTBS 1.8.1以來,您可以從PHP文件句柄中打開DOCX(或任何Ms Office,LibreOffie或zip存檔)。
您可以使用此功能輕鬆地從數據庫合併模板:
// retrieve binary data of the file
$rs = mysql_query($dbc, "SELECT data FROM files WHERE id=$id");
$rec= mysql_fetch_array($rs, MYSQLI_ASSOC);
mysql_free($rs);
// create a temporary file
$temp = tmpfile();
fwrite($temp, $rec['file']);
unset($rec); // free PHP memory
// Open the file with OpenTBS
$TBS = new clsTinyButStrong;
$TBS->Plugin(TBS_INSTALL, OPENTBS_PLUGIN);
$TBS->LoadTemplate($temp);
...
感謝您的答案,它真的工作....... –
你爲什麼要保存在數據庫中的.docx?你不能把它們存放在一個文件夾中嗎? –
在我的情況下,有很多的模板,我最好在數據庫中存儲,以避免空間丟失 –