2012-10-04 70 views
0

我的客戶已經要求我建立一個郵件合併結構和現有的聯繫人數據庫。他們希望能夠將某種Microsoft Office文檔上傳到系統中,然後我需要能夠將該文件生成爲可打印的循環,替換與數據庫匹配的設置字段。PHP的fwrite - 哪些文件類型的工作? - linux服務器

例如Dear %%FIRST_NAME%%將更改爲Dear John或記錄在數據庫中的任何內容。

所以我想知道什麼文件類型,他們可以導出微軟word上傳到我的系統,我可以使用fwrite字符串替換這些變量,然後以某種方式設置一個循環,以便能夠打印出這些。

感謝

回答

2

您可以使用PHPWord這一點。 http://phpword.codeplex.com/

它可以讓你打開DOC/DOCX文件並對其進行編輯,雖然.doc文件,你需要一些兼容包(希望你能得到的docx文件,這只是XML文件拉鍊)

如果您可以,我會建議你使用他們的模板系統,因爲這會極大地方便你的生活。

所有你需要的:不是這樣:

Dear %%FIRST_NAME%%, I still listen to your music, man! 

做這樣的事情:

Dear ${FirstName}, I still listen to your music, man! 

然後在你的PHP代碼,你可以這樣做:

<?php 
require_once('PHPWord.php'); 

$phpWord = new PHPWord(); 
$doc = $phpWord->loadTemplate("yourdoc.docx"); 
$document->setValue("FirstName", "John Lennon"); 
$document->save("yourdoc_modified.docx"); 

的額外我忘了說:你不需要在Windows上運行PHP服務器來使用它。只要你安裝了zip和XML庫,你都很好。

+0

謝謝我會研究它。 – sluggerdog

+0

PHPWord可以允許從mySQL數據庫和somesort模板中進行某種郵件合併嗎?我剛剛發現OpenTBS(http://www.tinyburstrong.com/plugins/opentbs/demo/demo.html),看起來它可能也能做到這一點。 – sluggerdog

相關問題