duanfaxin7014 2018-05-27 15:40
浏览 33

强制下载csv [复制]

This question already has an answer here:

I want to create a function for force download CSV file but the CSV file displays its content like print_r() I know this is not the right way but otherwise it doesn't display it at all.

function export_to_csv($result) {

    $shtml = print_r($result);

    header('Content-Type: text/csv');
    header('Content-Disposition: attachment; filename="data.csv"');

    echo $shtml;
}

This is how I created the CSV file through XML

function createCsv($xml, $f) {

    foreach ($xml->children() as $item) {

        $hasChild = (count($item->children()) > 0) ? true : false;

        if (!$hasChild) {
            if (!empty($item)) {
                $put_arr = array($item->getName(), $item);
                fputcsv($f, $put_arr, chr(9));
            }
        } else {
            createCsv($item, $f);
        }
    }
}

Any ideas?

</div>
  • 写回答

1条回答 默认 最新

  • douao1858 2018-05-27 15:46
    关注

    You need to return print_r results with adding true as a second argument:

    $shtml = print_r($result, true);
    
    评论

报告相同问题?

悬赏问题

  • ¥100 iOS开发关于快捷指令截屏后如何将截屏(或从截屏中提取出的文本)回传给本应用并打开指定页面
  • ¥15 unity连接Sqlserver
  • ¥15 图中这种约束条件lingo该怎么表示出来
  • ¥15 VSCode里的Prettier如何实现等式赋值后的对齐效果?
  • ¥15 流式socket文件传输答疑
  • ¥20 keepalive配置业务服务双机单活的方法。业务服务一定是要双机单活的方式
  • ¥50 关于多次提交POST数据后,无法获取到POST数据参数的问题
  • ¥15 win10,这种情况怎么办
  • ¥15 如何在配置使用Prettier的VSCode中通过Better Align插件来对齐等式?(相关搜索:格式化)
  • ¥100 在连接内网VPN时,如何同时保持互联网连接