看來,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
而不是空間問題?
空間中的文件名是將要在線託管工作,通常是一個壞主意。重命名文件比等待Firefox不出現這個問題要容易得多。 – ElendilTheTall
你真的嘗試過'%20'或'+'嗎?或'urlencode()'? –