2011-03-14 18 views
2

如何收集php頁面的所有html內容並將其保存到doc文件中,然後用保存提示將其提供給用戶。收集php腳本的html輸出並將其作爲doc文件提供

<?php 
ob_start(); 
echo 'Hello World'; 
file_put_contents('filename.doc', ob_get_contents()); 
header('Content-type: application/msword'); 
// serve filename.doc to user with a save promt.????? 
ob_end_flush(); 
?> 
+2

請注意,您嘗試執行的操作不是提供真實的.doc文件,而是將HTML文件作爲文檔進行掩碼。結果可能不同。除此之外,它應該像'$ data = ob_get_contents(); echo $ data'; – 2011-03-14 01:05:09

+0

只要寫入後綴爲'.doc'的文件,就不會使其成爲Word文檔!這可能很有趣:http://www.webcheatsheet.com/php/create_word_excel_csv_files_with_php.php – 2011-03-14 01:05:40

+0

人們仍然*使用* .doc格式? – esqew 2011-03-14 01:06:08

回答

2

首先,它不會是一個.doc文件。你不能只是將任何類型的內容放在一個文件中,給它一個文件擴展名,並希望它可以作爲一個.doc文件。

第二 - 你幾乎沒事,直到你需要讀取文件並強制瀏覽器下載它。 要做到這一點,它添加到您的代碼(當然是有必要的修改):

header('Content-Disposition: attachement;filename="put_filename_here.doc"'); 
header('Content-Transfer-Encoding: binary'); 

readfile('/path/to/file.doc'); 
+0

thnks它的工作.. :-)將在未來3分鐘內回答您的答案:-) – 2011-03-14 01:15:32

0

PHP DOCX是創建的.docx文件免費圖書館。 http://www.phpdocx.com/

+0

由此產生的文件不支持mac microsoft office ..您可以嘗試自己提供的示例。他們不會在microsoft office 2008 for mac中打開。 – 2011-03-14 01:19:38

相關問題