2016-08-04 78 views
1


以前我想輸出一個doc文件很好。
但是當我更改爲docx時,它告訴我無法打開docx,因爲發現內容有問題/文件已損壞。

如果我拿出'回聲',那麼沒有錯誤發生,但內容爲空。
這裏是我的代碼:PHP:從html輸出一個docx文件

$fileName = $m_year . "-" . $m_month . "-" . $m_con_id . " - Monthly Report.docx"; 
header("Content-type: application/vnd.openxmlformats-officedocument.wordprocessingml.document"); 
header("content-disposition: attachment;filename=\"". $fileName ."\""); 
header('Cache-Control: public'); 
$content = ets_docMonthlyReportTemplate(); 
echo $content; 

然後我改變vsword,但給我的非法名稱字符。地點:部分:/word/document.xml

require_once '/vsword/VsWord.php'; 
VsWord::autoLoad(); 
$doc = new VsWord(); 
$parser = new HtmlParser($doc); 
$content = ets_docMonthlyReportTemplate(); 
$html= $content; 
$parser->parse($html); 
echo '<pre>'.($doc->getDocument()->getBody()->look()).'</pre>'; 
$doc->saveAs($fileName); 

我可以用頭MIME類型的輸出只是或必須應用庫?
謝謝。

+2

更改MIME類型頭只是改變MIME類型頭,它不會改變您發送給瀏覽器的任何內容,只是建議瀏覽器如何解釋該內容......它不會自動將html標記更改爲本機格式的docx文件....要實際更改該內容,您需要一個圖書館(或編寫自己的圖書館) –

+0

嗨,謝謝你的回覆。這對我來說很清楚。 –

回答