这是针对该文件的csv文件创建和强制下载。PHP CSV创建并强制下载
这个工作,但我需要知道它是否正确的方式。
公共职能exportCSV($结果){
try {
$filename = CSV_PATH.'file.csv';
$numRows = count($results);
$handle = fopen($filename, 'w+') or die("can't open file");
fputcsv($handle, array('id','name','age','address'));
foreach ($results as $row) {
fputcsv($handle, $row);
}
fclose($handle);
header('Content-Disposition: attachment; filename="'.basename($filename).'"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: '.filesize($filename));
header('Connection: close');
readfile($filename);
exit();
} catch(Exception $e) {
echo $e->getMessage();
}
}
CSV_PATH是config.php文件
就我个人而言,我会使用tempfile而不是具有固定名称的文件......如果两个不同的用户同时请求csv下载,那么您将不会遇到任何问题;并且它可以在磁盘发送到浏览器之后删除磁盘上的文件 –