我有以下源代码(PHP)用于下载CSV文件
$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文件,而是下载csv,内容是显示页面的HTML源。
有人可以让我知道如何解决这个问题。
非常感谢。
答案 0 :(得分:2)
请尝试将其设置为:
,而不是您的内容类型Content-Type: text/plain
查看content types的完整列表。
编辑:在PHP中试试这个:
header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename=example.csv');
header('Pragma: no-cache');
// echo out the csv file
答案 1 :(得分:0)
使用内容类型application/force-download
强制浏览器下载您的文件。我想这就是你要求的,对吧?