首页 > 编程 > PHP > 正文

如何使用PHP创建CSV文件?(代码示例)

2020-03-22 16:58:33
字体:
来源:转载
供稿:网友
CSV(逗号分隔值)是在html' target='_blank'>应用程序之间传输表格数据的最常用方法之一;创建将数据导出到CSV的代码在许多应用程序中非常有用。下面本篇文章就来带大家了解如何使用PHP创建CSV文件,希望对大家有所帮助。

下面就通过代码示例来具体介绍一下:

使用静态数据创建CSV文件

如果要将数据存储到csv文件中,则可以使用与以下类似的代码:

 ?php// 创建并打开“demosaved.csv”文件进行写入$file = fopen( demosaved.csv , w // 保存列标题fputcsv($file, array( Column 1 , Column 2 , Column 3 , Column 4 , Column 5 // 样本数据,这可以从MySQL中获取$data = array(array( Data 11 , Data 12 , Data 13 , Data 14 , Data 15 ),array( Data 21 , Data 22 , Data 23 , Data 24 , Data 25 ),array( Data 31 , Data 32 , Data 33 , Data 34 , Data 35 ),array( Data 41 , Data 42 , Data 43 , Data 44 , Data 45 ),array( Data 51 , Data 52 , Data 53 , Data 54 , Data 55 )// 保存每一行数据foreach ($data as $row)fputcsv($file, $row);// 关闭文件fclose($file);? 

代码说明

第3行:打开文件,文件名为“demosaved.csv”,用于书写。确保服务器可以写入保存此文件的位置

第6行:添加列标题。如果不想要任何列标题,可以跳过此步骤。

第9-15行:表示要存储在文件中的数据。如果你想从mysql中获取数据,你必须用代码来连接数据库并获取数据,进而替换这些行来

第17-21行:遍历每行数据并保存数据

第24行:关闭文件。在我们完成将所有数据写入文件后,需要把文件关闭。

从mysql获取数据来创建并自动下载CSV文件

 ?php// 设置输出标头,以便下载文件header( Content-type: text/csv header( Content-Disposition: attachment; filename= demo.csv // 不缓存文件header( Pragma: no-cache header( Expires: 0 // 创建连接到输出流的文件指针$file = fopen( php://output , w // 打开数据库连接$link = mysqli_connect( localhost , my_user , my_password , my_db //查询数据库$query = SELECT field1, field2, field3, field4, field5 FROM table if ($rows = mysqli_query($link, $query))// 保存每一行数据while ($row = mysqli_fetch_assoc($rows))fputcsv($file, $row);//自由结果集mysqli_free_result($result);// 关闭连接mysqli_close($link);? 

代码说明:

因为我们要下载文件,所以我们必须发送一些头文件(第3行和第4行),告诉浏览器下载该文件。

第3行:告诉浏览器内容的MIME类型是text / csv,因为我们要发送一个csv文件

第4行:发送标头“Content-Disposition”,其值为“attachment”,文件名为“demo.csv”。这将告诉浏览器下载名为“demo.csv”的文件,而不是显示它。

第7行和第8行:告诉浏览器不要缓存文件。如果我们发送多个同名文件,这很有用,否则这不是必需的

第11行:表示打开文件指针以发送数据

第14行~第30行:从mysql获取数据

注:需要确保更改数据库的连接参数和查询。此外,该数据库相关代码仅是一个示例。在实际应用程序中,它可能位于不同的文件中,并且还应该有错误处理。

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php 相关教程栏目!!!

以上就是如何使用PHP创建CSV文件?(代码示例)的详细内容,PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表