1

POST 経由でサーバー ページにデータを送信する HTML フォームがあります。

<form id='report-inputs' method='post' action='generate.php'>...</form>

generate.phpこれは、指定されたデータを使用して多くの作業を行い、最終的にダウンロード用の Excel ファイルをダンプします。これは、バッファを消去してヘッダーを設定することによって行われます。

ob_end_clean();
header('Set-Cookie: fileDownloadToken='.$token); 
header('Content-type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename="'.$_DATA['title'].'.xlsx"');
$objWriter->save('php://output');

ob_end_clean()ファイルが破損していないとダウンロードします。ページの処理が終了したときに何らかの確認または何かを表示したいのですが、ob_end_clean().

一部のコンテンツを表示し、ファイルを正常に配信するにはどうすればよいですか?

ありがとう。

4

2 に答える 2

1

データをファイルに保存し、必要なものを画面に表示し、保存したファイルに Javascript リダイレクトを追加します。

于 2012-11-07T19:02:07.717 に答える
1

@mike-b が既に述べたように、同じ応答で一度に 2 つのことを行うことはできません。しかし、ここにあなたができることがあります。

  1. PHP スクリプトによってダウンロード ファイルが作成され、一時ファイルとしてサーバーに保存されます。
  2. 「Project X にご関心をお寄せいただきありがとうございます...」などと言って、ユーザーにページを返します。
  3. 出力ページは、適切な間隔の後、ユーザーをダウンロード ファイルの URL にリダイレクトする必要があります。または、クリックする実際のリンクを提供することもできます。または両方。
于 2012-11-07T19:04:10.610 に答える