SplFileObject::fputcsv
(PHP 5 >= 5.4.0, PHP 7)
SplFileObject::fputcsv — Write a field array as a CSV line
Description
public SplFileObject::fputcsv ( array $fields [, string $delimiter = "," [, string $enclosure = '"' [, string $escape = "\\" ]]] ) : int|false
Writes the fields array to the file as a CSV line.
Parameters
-
fields -
An array of values.
-
delimiter -
The optional
delimiterparameter sets the field delimiter (one character only). -
enclosure -
The optional
enclosureparameter sets the field enclosure (one character only). -
escape -
The optional
escapeparameter sets the escape character (at most one character). An empty string ("") disables the proprietary escape mechanism.
Note:
If an
enclosurecharacter is contained in a field, it will be escaped by doubling it, unless it is immediately preceded by anescape_char.
Return Values
Returns the length of the written string or false on failure.
Returns false, and does not write the CSV line to the file, if the delimiter or enclosure parameter is not a single character.
Errors/Exceptions
An E_WARNING level error is issued if the delimiter or enclosure parameter is not a single character.
Changelog
| Version | Description |
|---|---|
| 7.4.0 | The escape parameter now also accepts an empty string to disable the proprietary escape mechanism. |
| 5.5.21, 5.6.5 | Added the escape parameter. |
Examples
Example #1 SplFileObject::fputcsv() example
<?php
$list = array (
array('aaa', 'bbb', 'ccc', 'dddd'),
array('123', '456', '789'),
array('"aaa"', '"bbb"')
);
$file = new SplFileObject('file.csv', 'w');
foreach ($list as $fields) {
$file->fputcsv($fields);
}
?> The above example will write the following to file.csv:
aaa,bbb,ccc,dddd 123,456,789 """aaa""","""bbb"""
See Also
- fputcsv() - Format line as CSV and write to file pointer
- SplFileObject::fgetcsv() - Gets line from file and parse as CSV fields
© 1997–2020 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/splfileobject.fputcsv.php