HTML源代码而不是CSV文件

时间:2012-08-10 12:55:31

标签: php

我有以下源代码(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源。

有人可以让我知道如何解决这个问题。

非常感谢。

2 个答案:

答案 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强制浏览器下载您的文件。我想这就是你要求的,对吧?