使用 fputcsv 创建一个.csv文件,并使用表数据更新页面


Use fputcsv create a .csv file and also update the page with table data

我正在使用fputcsv创建一个.csv文件并自动下载给用户。这很好用:

function create_csv($data, $not_valid, $csv_old_count, $file_name) {
    header('Content-Type: text/csv; charset=utf-8');
    header('Content-Disposition: attachment; filename="'.$file_name.'"');
    $fp = fopen('php://output', 'w');
    foreach ( $data as $line ) {
        fputcsv($fp, $line);
    }
    fclose($fp);
    exit();
}

但是,我还想用一个表格更新页面,该表格显示了放入 csv 文件的数据。当尝试通过删除exit()并添加循环来写入表来执行此操作时,该数据也会写入 csv 文件,而不是写入我的页面。

如何创建和下载.csv并将一些 HTML 写入页面?

您可以将

输出添加到foreach() -

foreach ( $data as $line ) {
    fputcsv($fp, $line);
    $newLines .= $line . "<br />"; // you'll have to figure out formatting
}
fclose($fp);
echo $newLines; // place this where you want to display the lines