导出 csv 文件的问题
Issues with exporting a csv file
我正在创建一个函数,当您单击一个按钮时,将数据提交给此函数并在 return 中创建一个 .csv 文件并让浏览器下载它。我遵循了网上可以找到的大量教程,但也许我混淆了一些东西:
header("Content-Type: application/x-excel");
header("Content-disposition: attachment; filename=export".date('d-m-Y') .".csv");
header('Expires : 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
$list = array
(
"Peter,Griffin,Oslo,Norway",
"Glenn,Quagmire,Oslo,Norway",
);
$file = fopen("contacts.csv","w");
foreach ($list as $line) {
fputcsv($file,explode(',',$line));
}
die($file);
readfile($file);
请记住,这些不是我的真实数据,我只是想在继续之前设置好所有内容,因为我有 50 行数组要处理。
使用此代码,如果我保留 die($file)
,文件会下载但为空。如果我删除它,我的浏览器会告诉我该网站不可用。
我错过了什么?
试试这个
header('Content-Type: application/excel');
header('Content-Disposition: attachment; filename="sample.csv"');
$data = array(
"Peter,Griffin,Oslo,Norway",
"Glenn,Quagmire,Oslo,Norway",
);
$fp = fopen('php://output', 'w');
foreach ( $data as $line ) {
$val = explode(",", $line);
fputcsv($fp, $val);
}
fclose($fp);
我正在创建一个函数,当您单击一个按钮时,将数据提交给此函数并在 return 中创建一个 .csv 文件并让浏览器下载它。我遵循了网上可以找到的大量教程,但也许我混淆了一些东西:
header("Content-Type: application/x-excel");
header("Content-disposition: attachment; filename=export".date('d-m-Y') .".csv");
header('Expires : 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
$list = array
(
"Peter,Griffin,Oslo,Norway",
"Glenn,Quagmire,Oslo,Norway",
);
$file = fopen("contacts.csv","w");
foreach ($list as $line) {
fputcsv($file,explode(',',$line));
}
die($file);
readfile($file);
请记住,这些不是我的真实数据,我只是想在继续之前设置好所有内容,因为我有 50 行数组要处理。
使用此代码,如果我保留 die($file)
,文件会下载但为空。如果我删除它,我的浏览器会告诉我该网站不可用。
我错过了什么?
试试这个
header('Content-Type: application/excel');
header('Content-Disposition: attachment; filename="sample.csv"');
$data = array(
"Peter,Griffin,Oslo,Norway",
"Glenn,Quagmire,Oslo,Norway",
);
$fp = fopen('php://output', 'w');
foreach ( $data as $line ) {
$val = explode(",", $line);
fputcsv($fp, $val);
}
fclose($fp);