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 并将上面的代码准确粘贴在其上。然后将用户重定向到这个新文件,问题就解决了!(文件下载没有任何问题)


所以我的问题是到底是什么问题?


互换的青春
浏览 119回答 1
1回答

慕斯王

感谢评论,原因找到了!我从文件的第二行开始了 PHP 标签 <?php,如下所示:...php 标签从这里开始 <?php也许第一行被视为输出。删除第一行,现在下载正常开始;)
打开App,查看更多内容
随时随地看视频慕课网APP