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
,$delimiter
= ",",$enclosure
= '"',$escape
= "\\"
Записывает массив fields
в файл как строку CSV.
fields
Массив значений
delimiter
Необязательный параметр delimiter
устанавливает
разделитель полей (только один символ).
enclosure
Необязательный параметр enclosure
(только один символ).
Символ обёртывания используется для помещения в него значений полей.
Например строка 'строка' обёрнута в одиночные кавычки (').
escape
Необязательный параметр escape
устанавливает символ
экранирования (максимум один символ).
Пустая строка (""
) отключает проприетарный механизм экранирования.
Замечание:
Если символ
enclosure
содержится в поле, он будет экранирован путём его удвоения, если ему не предшествуетescape_char
.
Возвращает длину записанной строки или false
в случае возникновения ошибки.
Возвращает false
и не производит запись в файл, если параметры
delimiter
или enclosure
содержат больше одного символа.
Вызывает ошибку уровня E_WARNING
, если параметры
delimiter
или enclosure
содержат больше одного символа.
Версия | Описание |
---|---|
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.