我上传到网站的文件可能包含空格,例如:
file name 1.wav
上传时会正常显示,但是当尝试从Chrome和Firefox下载文件时,我会得到以下结果:
Chrome downloaded: file name 1.wav (perfect)
firefox downloaded: file (bad)
名称1.wav已从名称中删除。 PHP中是否有任何特定的功能可以解决这个问题?
CODE:
<?= str_replace(array("'",'"'), array("'","""), stripslashes($sFileTitle)) ?>', '<?=$f['fileExtension']?>'
当我检查应该下载文件的锚标记上的元素时,会出现这种情况:
<a title="file name 1.wav" fileid="254" class="docLink">file name 1.wav</a>
我使用JQuery重定向到正确的路径。
FIX:
添加urlencode($ file)修复它但引发了一个新问题。现在文件名为
file name 1.wav
下载时变为:
file+name+1.wav
下载后可以用空格替换吗? urldecode没有工作
解决方案:
如果其他人遇到同样的问题我是如何解决的:
而不是urlencode / decode我只是这样做了:
'"' . stripslashes($file) . '"'
并修复了它
答案 0 :(得分:3)
<?php
header("Content-Disposition: attachment; filename=\"$filename\"");
?>