繁体   English   中英

Ajax / php创建一个数组-如何以.txt格式下载给用户?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM