如何制作一个保存字符串内容的下载按钮


How to make a download button that saves the content of a string?

我有一个PHP脚本,它正在生成一个字符串,我想通过单击按钮将其下载为文件。

我知道如何将字符串保存在网络服务器上的文件中,并用链接指向它,但这不是我想做的

我想通过单击一个按钮将一个包含字符串的文件流式传输给用户。

更新:我正在寻找的是非常接近这个的东西:

<a href="data:application/octet-stream;charset=utf-16le;base64,//5mAG8AbwAgAGIAYQByAAoA">text file</a>

我面临的问题是如何将$字符串转换为这个base64部分,什么是utf-16le??有人能解释一下吗?

更新实际上,一些坏人因为无法回答而感到沮丧,并结束了话题。不用问我,这里的一些人把这当成一场比赛来收集分数。但我继续努力,找到了问题的解决办法。

您只需添加download="file.txt"

<a href="data:application/octet-stream;charset=utf-16le;base64,//5mAG8AbwAgAGIAYQByAAoA" download="file.txt">text file</a>

通过这种方式,您可以下载一个文件。而不是流。

玩得开心。

您想要做的是将文件保存在服务器上,然后只使用如下html:

<a href="http://example.com/files/myfile.txt" target="_blank">Download</a>

当然,链接会被一些js或jQuery动态更改(不知道怎么做?转到https://stackoverflow.com/a/179717)

我会从php文件发送一个响应,其中包含文件名或路径。。。

也看看这个答案

https://stackoverflow.com/a/2793756

这可能是一个解决方案:

<?php
header('Content-type: text/plain');
header('Content-Disposition: attachment; filename="yourfilename.ini"');
//output the contents the file should contain. For example:
echo "a=1'nb=2'nc=3";
?>

在这里找到