火狐浏览器下载文件 文件名存在空格导致失败解决方法
2018-02-28 14:41
621 查看
最近在使用php下载文件的时候(头文件下载方式),发现在谷歌 IE上都可以成功,但是在火狐上出现如下现象:
它没有识别出文件,最后发现是因为文件名存在空格导致的,但是空格是需求必须的,思路是在文件名两边加双引号,所以改代码:
只要修改第三句就行了:
它没有识别出文件,最后发现是因为文件名存在空格导致的,但是空格是需求必须的,思路是在文件名两边加双引号,所以改代码:
**这个是原来代码:** header("Cache-Control: max-age=0"); header("Content-Description: File Transfer"); header('Content-disposition: attachment; filename=' . basename($fileName)); // 文件名 header('Content-Type: application/octet-stream'); header("Content-Transfer-Encoding: binary"); // 告诉浏览器,这是二进制文件 header('Content-Length: ' . filesize($filePath)); // 告诉浏览器,文件大小 @readfile($filePath); //输出文件;
只要修改第三句就行了:
header("Content-disposition: attachment; filename=\"" . basename($fileName). "\""); // 文件名(加\是为了兼容火狐浏览器) 或者: header('Content-disposition: attachment; filename="' . basename($fileName). '"');
相关文章推荐
- 解决文件下载在火狐浏览器出现中文文件名乱码的方法
- Response下载文件时,火狐浏览器文件名乱码问题解决方法
- CFileDialog改变文件路径导致的一系列问题(如无法安全删除u盘、访问相对路径失败)的解决方法
- 解决:文件下载 文件名中有空格 ff会将文件名截断
- 【转】彻底解决Asp.net文件下载(Response.WriteFile)时文件名的中文乱码和空格异常问题
- 解决Asp.net 实现文件下载时、输出文件时文件名的中文乱码和空格异常
- vim的.vimrc配置文件中如果有文件路径存在空格的解决方法
- 修改mysql的my.ini文件,导致mysql服务1067启动失败的解决方法
- 下载数据库文件时会出现中文文件名乱码,解决方法
- 用火狐浏览器下载中文文件名的文件乱码及其解决
- ie 无法下载中文名文件 解决方法 【修改IIS5注册表可以支持中文文件名】
- 解决Asp.net 实现文件下载时、输出文件时文件名的中文乱码和空格异常
- 用火狐浏览器下载中文文件名的文件乱码及其解决
- tomcat下载文件时,URL含有文字参数与空格参数出错(java.io.FileNotFoundException错误) 解决方法(转)
- ASP.NET下载文件的中文文件名乱码的解决方法
- 附加自动命名的数据库,但失败。已存在同名的数据库,或指定的文件无法打开或位于 UNC 共享目录中[解决方法]
- 文件下载中文件名乱码的解决方法
- php做下载文件的实现代码及文件名中乱码解决方法
- 浏览器文件导出、下载(文件名)乱码解决方法
- RHEL5 fstab文件修改错误导致系统启动失败的解决方法