问题描述
我检查了类似的帖子,这是问题所在:我的一部分代码:
if($_GET['dl']) {
$file=$_GET['dl'];
$file="../../rep/".$file;
header('Content-Type: application/octet-stream');
header("Content-transfer-encoding: Binary");
header("Content-disposition: attachment; filename=\"" . basename($file) . "\"");
readfile($file);
exit;}
此代码在用户提交表单并在当前PHP文件上重定向时运行。结果在浏览器中打开,而不是下载。我检查了许多其他标头或修改,却毫无头绪。
因此,我制作了一个单独的PHP文件:download.PHP,并将上面的代码完全粘贴在其上。然后将用户重定向到这个新文件,问题解决了! (文件下载没有任何问题)
所以我的问题是到底是什么问题?
解决方法
感谢您的评论,理由成立! 我已经在这样的文件中的第二行中启动了PHP标签
- ...
- php标记从此处开始
也许第一行被视为输出。删除了第一行,现在可以正确开始下载了;)