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