PHP生成csv文件
程序员文章站
2024-03-19 22:19:04
...
我们经常可能需要把PHP数组中的内容输出到表格中去,下面代码通过fputcsv函数实现吧数组内容输入到csv文件中
<?php
$list = array (
array('1','小明','男'),
array('2','小红','女'),
array('3','张三','男'),
);
$file = fopen('test.csv', "w") or exit("Unable to open file!"); //打开文件的方式
fwrite($file, chr(0xEF).chr(0xBB).chr(0xBF)); //写入BOM头,防止乱码
//写入表格表头
$header = array();
$header[] = '学号';
$header[] = '姓名';
$header[] = '性别';
fputcsv($file, $header);
foreach ($list as $data) {
fputcsv($file, $data);
}
fclose($file);
?>
生成表格结果:
为什么要写入BOM头?因为windows系统默认使用GBK编码,所以我们在创建csv文件的时候,往文件头部加入一个BOM头,这个软件就知道这个文件是使用Utf-8编码的了,打开的时候就会使用utf-8来解析了。
注意打开文件的方式:
可以查看一下php手册fopen的使用方法一起参数
'r' | 只读方式打开,将文件指针指向文件头。 |
'r+' | 读写方式打开,将文件指针指向文件头。 |
'w' | 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 |
'w+' | 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 |
'a' | 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 |
'a+' | 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 |
'x' | 创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回
FALSE ,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的
open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。 |
'x+' | 创建并以读写方式打开,其他的行为和 'x' 一样。 |
'c' | Open the file for writing only. If the file does not exist, it is created. If it exists, it is neither truncated (as opposed to 'w'), nor the call to this function fails (as is the case with 'x'). The file pointer is positioned on the beginning of the file. This may be useful if it's desired to get an advisory lock (see flock()) before attempting to modify the file, as using 'w' could truncate the file before the lock was obtained (if truncation is desired, ftruncate() can be used after the lock is requested). |
'c+' | Open the file for reading and writing; otherwise it has the same behavior as 'c'. |
上一篇: imgaug数据增强库的环境配置
下一篇: 345. 反转字符串中的元音字母