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
- 3219 reads