4

PHP経由でデータベースデータを.csvにエクスポートしようとしています。一定の長さのデータの後、クエリは .csv ファイルに保存されず、画面に表示されます。どのレコードが照会されるかに依存していないように見え、特殊文字にも依存していないようです。

$handle = fopen("php://output", "w");
fputcsv($handle, array('Name','Text','Link','Category','Price','Package', 'Date of upload','Date of verification','Date of expiry','Status','Clk'));
for ($c=0; $c<$num_rows; $c++)
{
    $row2[$c][0] = iconv("UTF-8","WINDOWS-1257",html_entity_decode( $row2[$c][0] ,ENT_COMPAT,'utf-8'));
    $row2[$c][1] = iconv("UTF-8","WINDOWS-1257",html_entity_decode( $row2[$c][1] ,ENT_COMPAT,'utf-8'));
    fputcsv($handle, array($row2[$c][0], $row2[$c][1], $row2[$c][2], $row2[$c][3], $row2[$c][4], $row2[$c][5], $row2[$c][6], $row2[$c][7], $row2[$c][8], $row2[$c][9], $row2[$c][10]));
}
fclose($handle);

header('Content-Type: text/csv; utf-8');
header("Content-Disposition: attachment; filename=".$filename);
header("Pragma: no-cache");
header("Expires: 0");

11 列、18 レコード。19 のレコードでは機能していません。

いくつかの設定がありませんか?

4

3 に答える 3

3

出力の前にヘッダーを配置してください!


utfに変換する場合は、次を使用します。

iconv("WINDOWS-1257", "UTF-8", ...

引数の順序が間違っていた

于 2013-08-10T11:31:15.297 に答える
1

ここ:

$handle = fopen("php://output", "w");

標準出力のハンドルを取得しています(魔女は一種のファイルです)。

あなたが意味したと思います:

$handle = fopen($filename, "w");
于 2013-08-10T11:30:49.843 に答える