我有一个PHP脚本生成一个字符串,我想通过单击按钮将其作为文件下载。
我知道如何将字符串保存在Web服务器上的文件中并使用链接指向它,但这不是我想要做的。
我希望通过单击按钮将文件流式传输给包含该字符串的用户。
更新:我正在寻找的东西非常接近:
<a href="data:application/octet-stream;charset=utf-16le;base64,//5mAG8AbwAgAGIAYQByAAoA">text file</a>
给我的问题是如何将$ string转换为这个base64部分,什么是utf-16le?有人可以解释一下吗?
更新实际上有些坏人感到沮丧,因为他们无法回答并关闭主题。没有问我。 ome peple在这里举行比赛以收集积分。但我接着找到了解决问题的方法。
你很简单就要添加download =“file.txt”
<a href="data:application/octet-stream;charset=utf-16le;base64,//5mAG8AbwAgAGIAYQByAAoA" download="file.txt">text file</a>
以这种方式下载文件。不是一条小溪。
玩得开心。
答案 0 :(得分:1)
您要做的是将文件保存在服务器上,然后只使用如下的html:
<a href="http://example.com/files/myfile.txt" target="_blank">Download</a>
当然链接会被某些js或jQuery动态更改(不知道该怎么做?转到https://stackoverflow.com/a/179717)
我发送一个包含文件名或路径的php文件的响应......
同时看看这个答案
答案 1 :(得分:0)
这可能是一个解决方案:
<?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";
?>
找到它here