(PHP 5 >= 5.1.0)
fputcsv — 将行格式化为 CSV 并写入文件指针
$handle
[, array $fields
[, string $delimiter
[, string $enclosure
]]] )
fputcsv() 将一行(用
fields
数组传递)格式化为 CSV
格式并写入由 handle
指定的文件。返回写入字符串的长度,出错则返回 FALSE
。
可选的 delimiter
参数设定字段分界符(只允许一个字符)。默认为逗号:,。
可选的 enclosure
参数设定字段字段环绕符(只允许一个字符)。默认为双引号:"。
Example #1 fputcsv() 例子
<?php
$list = array (
'aaa,bbb,ccc,dddd',
'123,456,789',
'"aaa","bbb"'
);
$fp = fopen('file.csv', 'w');
foreach ($list as $line) {
fputcsv($fp, split(',', $line));
}
fclose($fp);
?>
Note: 在读取在 Macintosh 电脑中或由其创建的文件时, 如果 PHP 不能正确的识别行结束符,启用运行时配置可选项 auto_detect_line_endings 也许可以解决此问题。
参见 fgetcsv()。
handle
文件指针必须是有效的,必须指向由 fopen() 或 fsockopen() 成功打开的文件(并还未由 fclose() 关闭)。
fields
An array of values.
delimiter
The optional delimiter
parameter sets the field
delimiter (one character only).
enclosure
The optional enclosure
parameter sets the field
enclosure (one character only).
Returns the length of the written string 或者在失败时返回 FALSE
.
Example #2 fputcsv() example
<?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);
?>
The above example will write the following to file.csv:
aaa,bbb,ccc,dddd 123,456,789 """aaa""","""bbb"""
Note: 在读取在 Macintosh 电脑中或由其创建的文件时, 如果 PHP 不能正确的识别行结束符,启用运行时配置可选项 auto_detect_line_endings 也许可以解决此问题。