Php HTML源代码下载,而不是CSV文件

Php HTML源代码下载,而不是CSV文件,php,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:

我有下面的源代码(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上运行得很好,但我在Quihoo360(中国的一个浏览器叫:360)上遇到了问题安全浏览器). 它不是下载包含从数据库读取的内容的CSV文件,而是下载包含显示页面的HTML源内容的CSV文件

有人能告诉我如何解决这个问题吗


非常感谢。

请尝试将内容类型设置为:

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

使用
application/force download
的内容类型强制浏览器下载您的文件。我想这就是您要求的,对吗?

您只需要一个内容类型标题。将第一个更改为text/plain并删除第三个。您好,siidheesh,文件下载成功,但内容不正确。而不是con从DB中选择的帐篷,它下载了显示页面的HTML源谢谢Fluffeh,我试过了,但这个问题似乎无法解决。Hi Fluffeh,我试过了,但得到了相同的结果。我确认并看到了正确选择的数据,它似乎不是从数据库中回显所选内容,而是回显返回的HTML源ch用于在屏幕上显示我不知道为什么,但当我在下载URL中添加一个参数时,它解决了这个问题