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类型的输出只是或必须应用库?
谢谢。
更改MIME类型头只是改变MIME类型头,它不会改变您发送给浏览器的任何内容,只是建议浏览器如何解释该内容......它不会自动将html标记更改为本机格式的docx文件....要实际更改该内容,您需要一个图书馆(或编写自己的图书馆) –
嗨,谢谢你的回复。这对我来说很清楚。 –