0

每当有一个space名称为 CSV 文件时,xyz abc.csv我们都面临通过 PHP 代码下载的问题,而其他 CSV 文件中没有空间,可以正常工作并正常下载。

下面是我的下载代码:

$file_path = 'http://www.servername.com/subfolder/subfolder/';
$file = urlencode('Today new_18-10-2012_21-13-21.csv');

header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename="'.$file.'"');
header('Pragma: no-cache');
readfile($file_path.$file);

当文件被下载时,它总是0 bytes在原始文件93kb大小的时候

任何关于这个麻烦的建议。

提前致谢 !

4

2 回答 2

0

使用此代码。它可能对你有帮助。但我认为主要问题是间距。

$Filename = 'Today new_18-10-2012_21-13-21.csv'; 
$path = "http://www.servername.com/subfolder/subfolder/";
$file = $path.$filename;
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$filename");
header("Content-Type: application/csv");
header("Content-Transfer-Encoding: binary");
readfile($file);
于 2012-10-19T06:26:40.490 回答
0

试试这个......你必须使用rawurlencode而不是urlencode.

$file_path = 'http://www.servername.com/subfolder/subfolder/';

//just filename, no need to save file with url encoded name!
$file = 'Today new_18-10-2012_21-13-21.csv';

header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename="' . $file . '"');
header('Pragma: no-cache');

//here comes url encoding
readfile($file_path . rawurlencode($file));

它对我来说工作得很好......

于 2012-10-19T07:22:40.580 回答