0
セッション配列からCSVとしてデータをエクスポートしようとしていますが、ダウンロード可能なドキュメントを作成するのではなく、ファイルの先頭にsession_start()をインクルードすると、ブラウザにエコーされます。私は別のアプローチをとる必要がありますか、これを解決する方法はありますか? session_start()がなければ、ファイルは作成されてダウンロードされますが、空のファイルはダウンロードされません。セッション変数をCSVファイルにエクスポートします。 PHP
header("Content-Type: text/csv;charset=utf-8");
header("Content-Disposition: attachment;filename=\"$filename\"");
header("Pragma: no-cache");
header("Expires: 0");
session_start();
include $_SERVER['DOCUMENT_ROOT']."/Includes/object_one.php";
include $_SERVER['DOCUMENT_ROOT']."/Includes/object_two.php";
$fp= fopen('php://output', 'w');
foreach ($_SESSION['data'] as $fields){
fputcsv($fp, $fields);
}
fclose($fp);
exit();
それは私の配列は、このフォーマットである場合に役立ちます:
$data = array(dataset1(array, of, data), dataset2(array, of, data), dataset#(array, of, data));
EDIT:SESSION_STARTは、問題を引き起こしているように見えるが、やる含まれていません。
ブラウザ開発コンソールを使用して、2つの試行の間に送信されたヘッダーの相違を確認します。それがあなたが興味を持っているものです。 – arkascha