PHP fputcsv不需要的其他最后一行

时间:2018-11-09 03:58:29

标签: php csv fputcsv

我有以下代码将数组结果导出到PHP中的csv中:

$file = fopen('php://output', 'w');

    $firstLineKeys = false;
    foreach ($result as $line) {
        if (empty($firstLineKeys))
        {
            $firstLineKeys = array_keys($line);
            fputcsv($file, $firstLineKeys);
            $firstLineKeys = array_flip($firstLineKeys);
        }
        fputcsv($file, $line, ',');
    }

    fclose($file);

但是,我将csv文件的最后一行显示为“已发送的标题”,这使文件的末尾有些难看。

如何删除最后一行或不显示消息“已发送标题”?

1 个答案:

答案 0 :(得分:0)

必须添加exit();在末尾。这将删除最后一行包含“已发送标题”文本的行。

解决方案如下:

$file = fopen('php://output', 'w');

$firstLineKeys = false;
foreach ($result as $line) {
    if (empty($firstLineKeys))
    {
        $firstLineKeys = array_keys($line);
        fputcsv($file, $firstLineKeys);
        $firstLineKeys = array_flip($firstLineKeys);
    }
    fputcsv($file, $line, ',');
}

fclose($file);
exit();