通过 PHP 导出为 CSV
假设我有一个数据库......有没有一种方法可以通过 PHP 将数据库中的内容导出到 CSV 文件(和文本文件[如果可能])?
Let's say I have a database.... is there a way I can export what I have from the database to a CSV file (and text file [if possible]) via PHP?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
我个人使用此函数从任何数组创建 CSV 内容。
然后,您可以使用类似以下内容让用户下载该文件:
用法示例:
I personally use this function to create CSV content from any array.
Then you can make your user download that file using something like:
Usage example:
您可以使用此命令导出日期。
首先,您必须将数据从 mysql 服务器加载到数组中
You can export the date using this command.
First you must load the data from the mysql server in to a array
郑重声明一下,串联比
fputcsv
甚至implode
快得多(我是认真的);而且文件大小更小:这是几个报表优化的结论,从十行到几千行。这三个示例在 1000 行下运行良好,但在数据更大时失败。
Just for the record, concatenation is waaaaaay faster (I mean it) than
fputcsv
or evenimplode
; And the file size is smaller:This is the conclusion of the optimization of several reports, from ten to thousands rows. The three examples worked fine under 1000 rows, but fails when the data was bigger.
如果您在标题中指定文件的大小,则可处理超过 100 行
简单地调用您自己的类中的 get() 方法
Works with over 100 lines, if you specify the size of the file in the headers
simple call the get() method in your own class
我建议 parsecsv-for-php 来解决嵌套换行符和引号的一些问题。
I recommend parsecsv-for-php to get around a number any issues with nested newlines and quotes.
此处附有预制代码。您只需复制并粘贴代码即可使用它:
https://gist.github.com/umairidrees/8952054#file-php-save-db-table-as-csv
pre-made code attached here. you can use it by just copying and pasting in your code:
https://gist.github.com/umairidrees/8952054#file-php-save-db-table-as-csv
就像@Dampes8N 所说:
希望这会有所帮助。
Just like @Dampes8N said:
Hope this helps.
您可以使用本机 PHP 函数“fputcsv”。使用 CSV,这很容易。
对于 txt 格式,情况会更复杂,因为您没有说出您想要查看的内容和方式。所以你必须介绍你的变压器。
这里有一个简单的例子。它将把行作为行写入文件中。
You can use the native PHP function "fputcsv". With CSV it's easy.
With txt format it's more complicated because you didn't say what and how you wanna see it. So you have to do introduce your transformer.
A simple example here. It will write rows as lines in the file.