1

ライブラリを使用phpdocxして Word でレポートを作成します。デフォルトでは、download関数には次の行が含まれています。

$this->save($tmp_filename);
... many headers
ob_clean();
flush();
readfile($tmp_filename);            
exit;

関数でob_cleanは何も起こりません - 何もロードされません。この行をコメントアウトすると、ファイルのロードが開始されます。しかし、ファイルを開こうとするとエラーが表示されます。エラー メッセージには、ファイルが破損しているなどのメッセージが表示されます。ただし、一時ファイル自体を開けば問題ありません。ob_cleanそれで、私が知りたいのは、機能とダウンロード機能全体で何が問題になる可能性があるかです。

編集

に交換ob_cleanob_end_cleanたところ、問題は解消されました。

4

1 に答える 1

1

ob clean または flush を使用する必要はありません。phpdocx に対してそれを行う組み込み関数があります。

例えば:

require_once '../../classes/CreateDocx.inc';
$docx = new CreateDocx();
$text = 'Lorem ipsum dolor sit amet.';
$docx->addText($text, $paramsText);
$docx->createDocxAndDownload('example_text');

@ref: http://www.phpdocx.com/api-documentation/layout-and-general/create-and-download-docx-with-PHP

于 2015-02-23T21:35:03.160 に答える