Vadiok
3/14/2016 - 1:11 PM

Вывод CSV файла с корректным экранированием символов.

Вывод CSV файла с корректным экранированием символов.

<?php
/**
 * Пример вывода правильно экранированного CSV с разделителем ";"
 */

$data = [
	['column1' => 'Some Name',    'column2' => 'some@email',],
	['column1' => 'Another Name', 'column2' => 'another@email',],
	['column1' => 'Third Name',   'column2' => 'some@email',],
];

// Если требуется сохранить файл, то здесь можно указать корректный путь
$f = fopen('php://temp', 'w+');
foreach ($data as $row) {
	fputcsv($f, $row, ';');
}
rewind($f);
$content = stream_get_contents($f);
fclose($f);

header('Content-Type', 'application/vnd.ms-excel');
header('Content-Encoding', 'UTF-8');
header('Content-Transfer-Encoding', 'binary');
header('Content-Disposition', 'attachment; filename="clients_last_orders.csv"');
echo $content;