ユーザーが選択したSQLデータのASCIIテキストダウンロードを実行したいのですが、これはメモ帳ですぐに開くことができます。ダウンロードを開始するための「ヘッダー」コマンドと同様に、DB接続は正常に機能しますが、行末文字を正しく表示できるようになると、気になります。
ヘッダーは、次の方法で静的に定義されます。
$header = <<<EOD
#Some header information
#goes here on multiple
#lines
EOD;
各行データはタブと連結されています。
$RS_SQL = $DBinterface->dbGetRecordSet($someQuery);
foreach($RS_SQL as $row) {
$rowdata = '';
foreach($row as $key=>$val) {
if((!(int)$key) && $key!='0') {
$rowdata[] = $row[$key];
}
}
$dataOutput.=implode("\t",$rowdata)."\n";
}
header("Content-type: text/plain; charset=ISO-8859-1");
header("Content-Disposition: attachment; filename=SQLDataExport.txt");
echo $header."\n".$dataOutput;
ヘッダーはメモ帳に正しく表示され、すべてのタブ間隔は設計どおりです...ただし、\rまたは\n文字を使用して行を適切にフォーマットしようとすると、行フィードが必要な場所に不明な文字(四角いボックス)が含まれる単一行になります。なれ。
ファイルをサーバーに書き込んでから、ストリームを読み取って出力してみました。ヘッダー情報のバリエーションを試してみました...ちょっと、ページがバイナリを介してブラウザにダウンロードされる方法に何か奇妙なことがあると思いますが、?
私は何が欠けていますか?
どうもありがとう。