欢迎光临
我们一直在努力

程序员使用文件名中的空格进行下载时,Firefox出现问题 – php

程序员面试经验

似乎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

PHP strtotime困境 – php

有人可以解释为什么这在我的服务器上输出为true吗?date_default_timezone_set('Europe/Bucharest'); var_dump( strtotime('29.03.2015 03:00', time()) === strtotime('29.03.2015 04:00&#0…

PHP-全局变量的性能和内存问题 – php

假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…

php-casperjs获取内部文本 – php

我正在为casperjs使用php包装器-https://github.com/alwex/php-casperjs我正在网上自动化一些重复的工作,我需要访问一个项目的innerText,但是我尚不清楚如何从casperjs浏览器访问dom。我认为在js中我会var arr = document.querySelector('label.input…

PHP Laravel从另一个驱动器读取文件 – php

我目前正在学习Laravel。我想知道是否有一种方法可以在Laravel中使用Storage::从另一个硬盘访问文件(使用Windows)。例如,我在驱动器C:上安装了带有Laravel的Xampp,但是我想访问网站目录之外的E:上的文件。我试过使用Storage::files('E:')和File::files('E:&#03…

php:拆分字符串,直到第一次出现数字 – php

我有像cream 100G sup 5mg Children 我想在第一次出现数字之前将其拆分。所以结果应该是array( array('cream','100G'), array('sup','5mg Children') ); 可以告诉我如何为此创建图案吗?我试过了list(…

赞(0)
未经允许不得转载: 京大飞辅助网程序员面试-区块链javago面经 » 程序员使用文件名中的空格进行下载时,Firefox出现问题 – php

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址