CSV(逗号分隔值)是在应用程序之间传输表格数据的最常用方法之一;创建将数据导出到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中文网其他相关文章!

本文讨论了PHP数据对象(PDO),这是PHP中数据库访问的扩展名。它通过准备好的语句及其对MySQLI的好处,包括数据库抽象和更好的错误处理,强调了PDO在增强安全性方面的作用。

memcache和memcached是通过减少数据库负载加快Web应用程序的PHP缓存系统。可以在仔细的密钥管理的项目之间共享一个实例。

本文讨论了JavaScript和PHP如何通过HTTP请求间接相互作用,因为它们的环境不同。它涵盖了将数据从JavaScript发送到PHP的方法


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

Atom编辑器mac版下载
最流行的的开源编辑器