This method is available in PHP 5.4 and it is just a wrapper over php.net/fputcsv.
(PHP 5 >= 5.4.0, PHP 7, PHP 8)
SplFileObject::fputcsv — Записать массив полей в виде строки CSV
$fields
,$separator
= ",",$enclosure
= "\"",$escape
= "\\",$eol
= "\n"
Записывает массив fields
в файл как строку CSV.
fields
Массив значений
separator
Необязательный параметр separator
устанавливает
разделитель полей (только один однобайтовый символ).
enclosure
Необязательный параметр enclosure
(только один однобайтовый символ).
Символ обёртывания используется для помещения в него значений полей.
Например строка 'строка' обёрнута в одиночные кавычки (').
escape
Необязательный параметр escape
устанавливает символ
экранирования (не более одного однобайтового символа).
Пустая строка (""
) отключает проприетарный механизм экранирования.
eol
Необязательный параметр eol
задаёт настраиваемую последовательность конца строки.
Замечание:
Если символ
enclosure
содержится в поле, он будет экранирован путём его удвоения, если ему не предшествуетescape
.
Возвращает длину записанной строки или false
в случае возникновения ошибки.
Возвращает false
и не производит запись в файл, если параметры
separator
или enclosure
содержат больше одного символа.
Вызывает ошибку уровня E_WARNING
, если параметры
separator
или enclosure
содержат больше одного символа.
Версия | Описание |
---|---|
8.1.0 |
Добавлен необязательный параметр eol .
|
7.4.0 |
Теперь параметр escape может принимать пустую строку для
отключения проприетарного механизма экранирования.
|
Пример #1 Пример SplFileObject::fputcsv()
<?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);
}
?>
Пример выше записывает следующие строки в file.csv
:
aaa,bbb,ccc,dddd 123,456,789 """aaa""","""bbb"""
This method is available in PHP 5.4 and it is just a wrapper over php.net/fputcsv.