0

CSVファイルをダウンロードするために以下のソースコード(PHP)を使用しています

$file_name = date("YmdHis") . ".csv";


Header('Content-Type: text/csv');
Header("Content-disposition: attachment; filename=${file_name }");
Header("Content-type: application/octet-stream; name=${file_name }");

header('Pragma: 1');
header('Cache-control: private, max-age=60, pre-check=30');
session_cache_limiter('private_no_expire');  

$csv = $header.$contents;

if (mb_detect_encoding($csv) == 'SJIS-win') {
    $csv = mb_convert_encoding($csv, 'UTF-8', 'SJIS-win');
}
echo $csv;

exit;

$header と $contents を使用すると、データベースから読み取られます。このソースは Firefox や IE では問題なく動作しますが、Quihoo360 (360 安全浏览器と呼ばれる中国のブラウザ) では問題が発生しました。データベースから読み取ったコンテンツを含む CSV ファイルをダウンロードする代わりに、コンテンツが表示ページの HTML ソースである csv をダウンロードします。

誰かがこの問題を解決する方法を教えてもらえますか?

どうもありがとうございました。

4

2 に答える 2

2

コンテンツ タイプの代わりに、次のように設定してみてください。

Content-Type: text/plain

コンテンツ タイプの適切なリストを参照してください。

編集:PHPでこれを試してください:

header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename=example.csv');
header('Pragma: no-cache');
// echo out the csv file
于 2012-08-10T12:57:31.933 に答える
0

content-type を使用して、application/force-downloadブラウザーに強制的にファイルをダウンロードさせます。それがあなたが求めていることだと思いますよね?

于 2012-08-10T13:02:55.977 に答える