(PHP 5 >= 5.1.0, PHP 7, PHP 8)
fputcsv — Форматирует строку в виде CSV и записывает её в файловый указатель
$stream
,$fields
,$separator
= ",",$enclosure
= "\"",$escape
= "\\",$eol
= "\n"
fputcsv() форматирует строку (переданную в
виде массива fields
) в виде CSV и
записывает её (заканчивая переводом строки) в указанный файл
stream
.
stream
Указатель на файл должен быть корректным и указывать на файл, успешно открытый функциями fopen() или fsockopen() (и всё ещё не закрытый функцией fclose()).
fields
Массив строк (string).
separator
Дополнительный параметр separator
устанавливает
разделитель полей (только один однобайтовый символ).
enclosure
Дополнительный параметр enclosure
устанавливает ограничитель полей (только один однобайтовый символ).
escape
Необязательный параметр escape
задаёт экранирующий символ (не более одного однобайтового символа).
Пустая строка (""
) отключает проприетарный механизм экранирования.
eol
Необязательный параметр eol
задаёт настраиваемую последовательность конца строки.
Замечание:
Если символ
enclosure
содержится в поле, он будет экранирован путём его удвоения, если ему не предшествуетescape
.
Возвращает длину записанной строки или false
, если возникла ошибка.
Версия | Описание |
---|---|
8.1.0 |
Добавлен необязательный параметр eol .
|
7.4.0 |
Теперь параметр escape может принимать пустую строку для
отключения проприетарного механизма экранирования.
|
Пример #1 Пример использования fputcsv()
<?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);
?>
Вышеуказанный пример запишет в файл file.csv
следующее:
aaa,bbb,ccc,dddd 123,456,789 """aaa""","""bbb"""
Замечание: Если возникают проблемы с распознаванием PHP концов строк при чтении или создании файлов на Macintosh-совместимом компьютере, включение опции auto_detect_line_endings может помочь решить проблему.