2013-10-24 133 views
0

我有一個數據庫表來存儲我的模板(.docx文件)。我正在使用openTbs來處理這些模板。我需要的是取出模板並將其存儲在服務器本身中,然後使用openTbs進行編輯。如何將文件從數據庫保存到服務器php

我的問題是,我如何從數據庫檢索.docx文件並將其存儲在服務器端。 (該存儲可以是暫時的,但我想用openTbs對其進行編輯。)

在此先感謝.......

+0

你爲什麼要保存在數據庫中的.docx?你不能把它們存放在一個文件夾中嗎? –

+0

在我的情況下,有很多的模板,我最好在數據庫中存儲,以避免空間丟失 –

回答

1

這是不好的做法,以保存二進制數據在數據庫中,大多是當這個數據打算由文件服務器處理,如圖片或DOCX。

無論如何,自Ope​​nTBS 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); 
... 
+0

感謝您的答案,它真的工作....... –

相關問題