(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"""
Замечание: Включение опции auto_detect_line_endings во время выполнения иногда помогает исправить неправильное распознавание языком PHP концов строк при чтении файлов на Macintosh-совместимом компьютере или файлов, которые создали на Макинтоше.