我有一个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";
?>
在这里找到