1

私の問題は、テキスト領域のコンテンツをWordファイルとしてダウンロードできるようにしたいことです-サーバーコードへの保存を停止すると、コードは機能します(コンテンツはテキスト領域に正確に書き込まれます)-しかし、ダウンロードコードを追加するとダウンロードしたファイルには、プログラムされたページ形式が含まれます助けてください

使用されるコードは次のとおりです。

// Create a new PHPWord Object
$PHPWord = new PHPWord();

$section = $PHPWord->createSection();

$section->addText($_POST['editor1']); //textarea content

$objWriter = PHPWord_IOFactory::createWriter($PHPWord, 'Word2007');
//$objWriter->save('helloWorld.docx');
$temp_file_uri = tempnam('', 'xyz');
$objWriter->save($temp_file_uri);
//download code
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=helloWorld.docx');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Content-Length: ' . filesize($temp_file_uri));
readfile($temp_file_uri);
unlink($temp_file_uri); // deletes the temporary file
exit;

}?>

更新: Office 2007を持っていないという理由だけで問題が何であるかがわかりました。申し訳ありませんが、OfficeがなくてもファイルはWordファイルとして開かれていたので、それは問題の原因ではないと思いました:(申し訳ありませんあなたの手を借りる

しかし、ファイルを開く前にまだ問題があり、「コンテンツが破損していて、ソースから確認できない場合は開かないでください!」という警告メッセージが表示されます。また、行間に区切りはありません (すべての単語を 1 つの段落に書いたかのように!

4

1 に答える 1

0

改行については、@ j0hny "thanks johny :)" 改行コードで書かれた便利なコードを見つけました

そして、エラーメッセージについては、「HTML to docx Converter」を使用すると消えました.incloud phpwordはここにあります

于 2013-10-01T15:59:25.260 に答える