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

时间:2015-01-07 19:11:14

标签: php csv fopen fputcsv

我正在使用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?

1 个答案:

答案 0 :(得分:1)

您可以将输出添加到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