已发布,但我已经尝试了很多在SO上找到的解决方案(例如:http://davidwalsh.name/php-force-download)
我基本上有这个:
{
$filePath = '../public/myfile.png';
$fileName = basename($filePath);
$fileSize = filesize($filePath);
if (!is_file) {
die("File not found");
} else {
header("Content-Description: File Transfer");
header('Content-Type: application/octet-stream');
header("Content-Disposition: attachment; filename= " . $fileName);
header("Content-Transfer-Encoding: binary");
readfile($filePath);
}
}
文件被识别和下载,但.PNG是空的.DOC已损坏(Word要求我修复文件,然后没关系)。我也试过PDF,没问题。
我非常愿意提供各种选项(Pragma,Cache-Control,Expires,Content-Length等),仍然下载文件但是以某种方式损坏了......
你有过我的问题吗?请考虑我在IIS 7.5上
提前致谢
答案 0 :(得分:8)
使用Notepad++等纯文本编辑器打开下载的文件。在顶部你会发现一个PHP错误通知,它会告诉你出了什么问题。
错误可能是“会话已发送”。然后在脚本的开头添加ob_start();
。