現在、テキストファイルの出力にfwriteを使っています。
処理としてはDBの内容を、テキストに書き出しているのですが
文字数が多い場合、以下のエラーが出現するようです。
Warning: Cannot modify header information - headers already sent by (output started at ....
解決法に心当たりのある方、ご教授お願い致します。
以下に、一連の処理を記述します。
//------------------------------------------------ファイル生成
// 作成するファイル名の指定
$file_name = 'output_text/file.txt';
// ファイルの存在確認
if( !file_exists($file_name) ){
touch( $file_name );// ファイル作成
}else{
// すでにファイルが存在する場合は、削除してから生成
unlink($file_name);
touch( $file_name );
}
//---------------------------------------------データ書き込み
$fp = fopen($file_name, "w"); // 新規書き込みモードで開く
$data= isset($dataArray[1][1]) ? $dataArray[1][1] : ""; ←このデータの文字数が多いとエラー
fwrite($fp, $data."\r\n\r\n");
fclose($fp);
//ファイルへの書き込みは終了
readfile($file_name);
//---------------------------------------------ダウンロード
header("Content-Disposition: attachment; filename=$file_name");
header("Content-Length: ".$file_name);
header("Content-Type: application/octet-stream");
header("Connection: close");

回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/10/29 08:21
退会済みユーザー
2015/10/29 08:22
退会済みユーザー
2015/10/29 08:29
2015/10/29 08:34
退会済みユーザー
2015/10/29 08:41