array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'zh', ), 'this' => array ( 0 => 'function.fputcsv.php', 1 => 'fputcsv', ), 'up' => array ( 0 => 'ref.filesystem.php', 1 => '文件系统函数', ), 'prev' => array ( 0 => 'function.fpassthru.php', 1 => 'fpassthru', ), 'next' => array ( 0 => 'function.fputs.php', 1 => 'fputs', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'zh', 'path' => 'reference/filesystem/functions/fputcsv.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
fputcsv — 将行格式化为 CSV 并写入文件指针
$stream
,$fields
,$separator
= ",",$enclosure
= "\"",$escape
= "\\",$eol
= "\n"
fputcsv() 将一行(用
fields
数组传递)格式化为 CSV
格式并写入由 stream
指定的文件。
stream
文件指针必须是有效的,必须指向由 fopen() 或 fsockopen() 成功打开的文件(并还未由 fclose() 关闭)。
fields
string 数组。
separator
可选的 separator
参数设定字段分界符(只允许一个单字节字符)。
enclosure
可选的 enclosure
参数设定字段字段环绕符(只允许一个单字节字符)。
escape
可选的 escape
参数设置转义字符(只允许一个单字节字符)。空字符串(""
)禁用专有转义机制。
eol
可选的 eol
参数设置自定义行尾序列。
注意:
If an
enclosure
character is contained in a field, it will be escaped by doubling it, unless it is immediately preceded by anescape
.
返回写入字符串的长度, 或者在失败时返回 false
。
版本 | 说明 |
---|---|
8.1.0 |
新增可选的 eol 参数。
|
7.4.0 |
escape 参数现在接受空字符串来禁用专有转义机制。
|
示例 #1 fputcsv() 例子
<?php
$list = array (
array('aaa', 'bbb', 'ccc', 'dddd'),
array('123', '456', '789'),
array('"aaa"', '"bbb"')
);
$fp = fopen('file.csv', 'w');
foreach ($list as $fields) {
fputcsv($fp, $fields);
}
fclose($fp);
?>
以上例子会写入以下的file.csv
:
aaa,bbb,ccc,dddd 123,456,789 """aaa""","""bbb"""
注意: 在读取在 Macintosh 电脑中或由其创建的文件时, 如果 PHP 不能正确的识别行结束符,启用运行时配置可选项 auto_detect_line_endings 也许可以解决此问题。