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