问题描述
通过字符串拼接方式(str左右都没有空格)header头下载文件,打开后发现这个样子。内容从第5行开始
问题出现的环境背景及自己尝试过哪些方法
php语言,使用过fputcsv是没有问题的。但是特别想知道为什么会出现这种情况
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
function test(){
$this->createcsv('test.csv', [[1],[1]]);
}
function createcsv($fileName,$csv_body)
{
// 头部标题
$csv_header = array('sku');
$header = implode(',', $csv_header) . PHP_EOL;
$content = '';
foreach ($csv_body as $k => $v) {
$content .= implode(',', $v) . PHP_EOL;
}
$csvData = trim($header.$content);
header("Content-type:text/csv;");
header("Content-Disposition:attachment;filename=" . $fileName);
header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
header('Expires:0');
header('Pragma:public');
echo $csvData;exit;
}
你期待的结果是什么?实际看到的错误信息又是什么?
期待内容从第一行开始,实际是从5行开始
换个php版本试试。我现在是7.0.13 win32 没有这个问题。另外,看看web服务器是不是会增加一些东西进去