私の目標は、ブラウザが添付ファイルのダウンロードを発行した後、ブラウザを新しいページにリダイレクトすることです。
header("Content-type: text/csv");
header("Cache-Control: no-store, no-cache");
header("Content-disposition: attachment;filename=file.csv");
// csv output logic here
// forward to next page
header("Location: $url");
出来ますか ?
UPDATE : 上記の結果
CSV の最後の行に PHP エラーが表示されます。
ヘッダー情報を変更できません - ヘッダーは既に送信されています...
CSVロジック部分が行の前の内容を変更したためですheader("Location: $url");
更新: 別の方法を試しました: キー行で構成される小さな HTML をエコーする<meta http-equiv="refresh" content="0; url=$url" />
(もちろん<html>
<head>
<body>
、DOCTYPE もエコーされます)。それでも、HTML コードは CSV コンテンツに表示されます。