php fputcsv() Как вернуть значение из функции, не записывя в файл (получить строку) -- пример кода
Primary tabs
Предлагаю использовать для получения одной CSV строки такую вот функцию:
/** * Преобразует массив в строку CSV файла с указанным разделителем * * @param array $fileds массив полей * @return string */ public function getOneCSVRow($fileds, $delimiter = ',') { $buffer = fopen('php://temp', 'w+'); // открываем, затирая всё чтобы было раньше fputcsv($buffer, $fileds, $delimiter); // записываем во временный поток rewind($buffer); $csvRow = fgets($buffer); // просто читаем из него строку fclose($buffer); return $csvRow; }
О форматах открытия файлов см. тут.
Создана на базе:
$buffer = fopen('php://temp', 'r+'); fputcsv($buffer, $data); rewind($buffer); $csv = fgets($buffer); fclose($buffer); // Perform any data massaging you want here echo $csv;
- Log in to post comments
- 2705 reads