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

时间:2015-12-16 00:34:47

标签: php filestream

我有一个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>

以这种方式下载文件。不是一条小溪。

玩得开心。

2 个答案:

答案 0 :(得分:1)

您要做的是将文件保存在服务器上,然后只使用如下的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

答案 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