似乎Firefox在文件名中的空格有问题供下载...
header( 'Content-Type: text/csv' );
header( 'Content-Disposition: attachment;filename='.$filename);
$fp = fopen('php://output', 'w');
fputs($fp, $csvdata);
fclose($fp);
这是一个名为的文件的示例: Test_ Grad Fair 2_20140129_1312_607.csv
当我尝试使用上面的代码通过FireFox下载文件时,会发生以下情况。(主要问题是它删除了文件扩展名!)
当我尝试从Safari或Chrome下载它时:
我知道一个解决方案可能是做类似的事情:
$filename = str_replace(' ', '', $filename);
但是,我更喜欢弄清楚为什么FireFox会出现此问题,文件名中不能有空格似乎有点荒谬。难道这就像%20
一个空间问题吗?
filename参数应用双引号引起来。
header( 'Content-Disposition: attachment;filename="'.$filename.'"');
参见http://kb.mozillazine.org/Filenames_with_spaces_are_truncated_upon_download
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句