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
и не записывает CSV-строку в файл, если параметры
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.