gpt4 book ai didi

php - 在 PHP 和 JavaScript 中导出 csv 文件

转载 作者:搜寻专家 更新时间:2023-10-31 20:47:02 24 4
gpt4 key购买 nike

我正在尝试实现一种工具,以将研究网站的数据导出为 csv 文件。在我的 download Controller 中,我有:

public function export(){
$data = array(
array('Name', 'Age', 'City'),
array('Philippe', '23', 'Palo Alto'),
array('John', '30', 'San Francisco'),
array('Paul', '20', 'Los Angeles')
);

header('Content-type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=data.csv');

$fp = fopen('php://output', 'w');
foreach( $data as $line ) {
fputcsv( $fp, $line );
}
fclose($fp);
}

从我的 View ,我做:

function download() {
$('#download').empty().html('<img src="<?php echo base_url();?>/images/loader.gif" />');
$.post('<?php echo base_url();?>/index.php/download/export');
}

download() 在用户点击带有 onclick='download()' 的按钮时被触发。但是,我没有看到正在下载的文件,也没有看到错误消息。当我查看我的 firebug 控制台时,我看到:

200 OK 29ms jquery.min.js (line 4) HeadersPostResponseCookies

Name,Age,City Philippe,23,"Palo Alto" John,30,"San Francisco" Paul,20,"Los Angeles"

我错过了什么?谢谢

最佳答案

您实际上并不需要此处的 AJAX 请求。你想将你的用户重定向到文件:

window.location = '<?php echo base_url();?>/index.php/download/export';

AJAX 请求告诉服务器将数据发送回脚本的成功方法。由于是下载,重定向不会让您离开页面,因此您可以使用此方法而不会混淆您的用户。

关于php - 在 PHP 和 JavaScript 中导出 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11977062/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com