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

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();

}

但是,我还想用 table 更新页面,显示放入 csv 文件的数据。当尝试通过删除 exit() 并添加一个循环来写入 table 来执行此操作时,该数据也会写入 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