需求:

我在MySQL数据库中有数据。我正在向用户发送一个URL,将其数据作为CSV文件发送出去。

我有电子邮件的链接,MySQL查询等。

当他们点击链接时,我怎么能弹出一个下载带有MySQL记录的CVS?

我已经掌握了记录的所有信息。我只是不知道如何让PHP创建CSV文件并让他们下载扩展名为.csv的文件。

 

实现方法

function download_csv_results($results, $name = NULL)
{
    if( ! $name)
    {
        $name = md5(uniqid() . microtime(TRUE) . mt_rand()). \'.csv\';
    }

    header(\'Content-Type: text/csv\');
    header(\'Content-Disposition: attachment; filename=\'. $name);
    header(\'Pragma: no-cache\');
    header(\"Expires: 0\");

    $outstream = fopen(\"php://output\", \"w\");

    foreach($results as $result)
    {
        fputcsv($outstream, $result);
    }

    fclose($outstream);
}

它非常易于使用,并且适用于MySQL(i)/ PDO结果集。

download_csv_results($results, \'your_name_here.csv\');
收藏 打印