我有一个非常基本的问题,请参阅下面的代码段。 这是一个更大的程序的相关部分,我希望下载一个zip文件。显示的代码(带有注释)产生预期的浏览器输出“立即下载文件。”
当我取消注释代码时,zip文件已正确下载到我的浏览器中!
但是,不会生成浏览器输出。我该如何重新获得控制权?我想让用户有其他选择。 (顺便说一下,取消评论单个“内容处置”行就足以导致失去控制权。)
我已尝试将代码包含在函数中,ob_start,ob_end flush等的许多可能组合都无济于事。我相信我会忽略一些非常基本的东西,并会欣赏一些建议。
感谢。
<?php
$sZipFN = 'file.zip';
// header("Content-type: application/zip");
// header("Content-disposition: attachment; filename=$sZipFN");
// readfile($sZipFN);
$sMsg = "Download the file now.";
?>
<html>
<body>
<p> <?php echo $sMsg; ?> </p>
</body>
</html>
答案 0 :(得分:1)
您无法 - 您必须重定向到选项页面,然后通过javascript重定向(document.location = 'http://download.url/';
)开始下载
这将开始下载,并将用户留在选项页面,如您所愿。
如果下载无法启动,请不要忘记点击此处&#39;链接页面顶部附近的某处(以防javascript被禁用)