fputcsv

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

fputcsv — 将行格式化为 CSV 并写入文件指针

说明

fputcsv(
    resource $stream,
    array $fields,
    string $separator = ",",
    string $enclosure = "\"",
    string $escape = "\\",
    string $eol = "\n"
): int|false

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 an escape.

返回值

返回写入字符串的长度, 或者在失败时返回 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 也许可以解决此问题。

参见

  • fgetcsv() - 从文件指针中读入一行并解析 CSV 字段

+add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top