当用户点击一个按钮,它会下载一个csv文件。它适用于IE9和Chrome,但不适用于Firefox。在Firefox 20中,内容类型未被设置,因此它将作为Firefox HTML文档进行下载。PHP 5.3下载CSV
$filename = 'exportedLogs.csv';
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header('Content-Description: File Transfer');
header("Content-type: text/csv");
header("Content-Disposition: attachment; filename=" .$filename);
header("Expires: 0");
header("Pragma: public");
$csv_file = fopen('php://output', 'w');
$header_row = array('id', 'project', 'customer', 'time spent');
fputcsv($csv_file, $header_row);
foreach ($logs as $log) {
$log = array(
$log['Log']['id'],
$log['Log']['project_id'],
$log['Log']['customer_id'],
$log['Log']['time_spent']
);
fputcsv($csv_file, $log);
}
fclose($csv_file);
你有没有试着用'内容Type'(注意是大写的T)? – Uby 2013-04-11 17:09:41
是的,我也尝试在Content-type中添加charset = UTF-8。 – Andrew 2013-04-11 17:11:19
也许多一个标题选项会有所帮助。请参阅http://davidwalsh.name/php-force-download – ebadedude 2013-04-11 17:19:16