我有一个用于提示CSV文件下载的功能。但是,文件名无法在Mozilla浏览器中完成,但适用于Chrome。例如,如果文件名应该是F1_Open_marksheet.csv,Mozilla会提示下载为F1(缺少文件名和扩展名的其余部分。可能是我的代码有问题吗?
<?php
function pushDownloadFile($filename){
header('Content-Description: File Transfer');
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename='.$filename);
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($filename));
ob_clean();
flush();
readfile($filename);
unlink($filename);
}
?>
答案 0 :(得分:0)
该缺陷是由文件名中的空格引起的,例如F 1_Open_marksheet.csv,我用连字符替换为F_1_Open_marksheet.csv。致@CBroe分享上述评论中的链接。