duanlv1366 2013-10-02 16:00
浏览 26
已采纳

通过GET将CSV文件下载到同一页面

My code:

<form action="" method="GET">
    <p><input name="date_start" type="text" id="datestart" /> to
        <input name="date_end" type="text" id="dateend" /></p>
    <button type="submit">Generate!</button>
</form>
<?php
if ($_GET["date_start"] && $_GET["date_end"]) {   
    $users_list = mysql_query("my query", $dbc) or die(mysql_error());

    $output = fopen("php://output", 'w') or die("Can't open php://output");
    header("Content-Type:application/csv");
    header("Content-Disposition:attachment;filename=user_list.csv");

    fputcsv($output, array("First Name", "Last Name", "Email", "Mobile", "Site"));
    while ($row = mysql_fetch_assoc($users_list)) {
        fputcsv($output, $row);
    }
    fclose($output) or die("Can't close php://output");
}
?>

Basically I'm sending my FORM to the same page, below the form I check for my GET variables and try to force a CSV file download, but instead of downloading, the content of my query is simply being printed.

I think this is because my headers have already been sent, but is there a way to download the file at all?

  • 写回答

2条回答 默认 最新

  • doutiao2540 2013-10-02 16:03
    关注

    Put your php code above the html form.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?