PHP-下载文件并在之后打印内容

时间:2018-09-21 07:35:39

标签: php

我有问题,我希望我的php代码下载文件,以便使用Header()函数。

header('Content-Disposition: attachment; filename="' . $licensename . '.lic"');
header('Content-Type: text/plain');
header('Content-Length: ' . strlen($license));
header('Connection: close');

这是可行的,但是我希望我的代码在此之后(或之前,这不是问题)打印其他内容

<?php

echo $json;

?>

如果我这样做,则json将打印在下载的文件中,而这不是我想要的。

多谢。

1 个答案:

答案 0 :(得分:2)

由于服务器响应后无法更改HTTP标头,因此响应不能同时是纯文本文件和HTML页面。如果希望在文件下载过程启动后出现消息,建议您允许使用JavaScript XHR请求(Ajax)异步进行下载过程,然后在执行异步功能后使用JavaScript显示消息。如果必须重定向用户,请将其重定向到HTML页面,然后使用JavaScript在那里启动下载过程。