每当运行php脚本时我都会生成一个文件,该脚本由用户同时下载(没有副本保存到服务器中)。
目前,我正在将用户从文件创建php脚本重定向回原始页面。
我不想将用户重定向回原始页面,但让它们保留在原始页面上,并且PHP脚本仍然运行并提示他们保存自定义创建的文件。
我不完全确定,但是会在我当前的PHP脚本末尾添加/更改某些内容,或者只是以某种方式更改我的HTML链接?我
我的HTML
<a href="fileCreator.php">Download File</a>
我的PHP
header("Content-type: text/txt");
header("Content-Disposition: attachment; filename=file.txt");
header("Pragma: no-cache");
header("Expires: 0");
header("Location: [ORIGINAL PAGE]");
echo $txtFile;
答案 0 :(得分:3)
如果您在指向iframe(可以设置为隐藏)的链接上设置目标,则可以启用下载提示,您的用户将永远不必离开他们点击下载链接的页面。
<a href="fileCreator.php" target="download_frame">Download File</a>
<iframe id="download_frame" style="display:none;"></iframe>
答案 1 :(得分:1)
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$fileName");
header("Content-Type: $fileType");
header("Content-Length: $fileSize");
header("Content-Transfer-Encoding: binary");
echo $fileContent;
然后只是链接到这个PHP文件,它不应该让用户离开页面。
答案 2 :(得分:0)
尝试添加
header('Content-Transfer-Encoding: binary');
header("Content-type: application/force-download");
header('Content-Type: application/octet-stream');