0

我有以下源代码(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 文件,而是下载内容为显示页面的 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 ofapplication/force-download强制浏览器下载您的文件。我想这就是你所要求的,对吧?

于 2012-08-10T13:02:55.977 回答