[英]Ajax/php creates an array - how do I download to the user as .txt?
我有一个php文件“ php-1”,可建立一个html页面。
它要求用户提供一些输入。用户单击按钮“ getID”(顺便说一下,有几个具有相同名称的按钮)
该输入将被带到js / Ajax调用中,并将输入参数传递给“ php-2。”(传递的参数实际上已分配给被单击的按钮)
php-1
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery(document).find('button#getIDs').click(function(button){
var parm1 = jQuery(this).attr('source_id');
$.ajax({
type: "POST",
url: "process-test.php?source_id="+parm1,
cache: false,
success: function(n) {
alert("complete");
}
});
});
});
</script>
“ php-2”采用POST参数(我想它实际上是一个GET)并执行对外部网站的API调用,该网站返回2个数组。 例如 [111,222,333,444,555]和[aaa,bbb,ccc]
(我知道阵列正在构建,因为我将阵列内容保存到服务器文件中)
数组被“回显”回Ajax代码。
php-2:
echo $results123;
echo $resultsABC;
我希望将此数组保存在用户计算机上的2个单独文件中,提示用户输入目录和.txt文件名,每行包含一个数组元素:
文件1
111
222
333
...
文件2:
aaa
bbb
ccc
我该如何实现?
提前致谢!
顺便说一句,感谢所有SO成员。 您已经为我节省了很多时间。 希望能够为社区做出贡献。
干杯,西蒙。
您可以向其中写入文件并使用JSON编码数组,如下所示
$location="path/to/file.txt";
$file = fopen($location,"w");
$content = JSON_encode($results123).JSON_encode($resultsABC);
fwrite($file,$content);
fclose($file);
然后,下载文件
header("Content-Disposition: attachment; filename=\"" . basename($file) . "\"");
header("Content-Type: application/force-download");
header("Content-Length: " . filesize($file));
header("Connection: close");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.