PHP Readfile对我不起作用-可能是标题问题?

问题描述

我检查了类似的帖子,这是问题所在:我的一部分代码

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标记从此处开始

也许第一行被视为输出。删除了第一行,现在可以正确开始下载了;)