需求:
我在MysqL数据库中有数据。我正在向用户发送一个URL,将其数据作为CSV文件发送出去。
当他们点击链接时,我怎么能弹出一个下载带有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');