Po prostu użyj fputcsv dba o ucieczkę i tworzenie poprawnych danych csv.
<?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);
?>
Wyjście:
aaa,bbb,ccc,dddd
123,456,789
"""aaa""","""bbb"""
Edytuj
Zawsze możesz użyć kombinacji tmpfile aby otworzyć plik, który zostanie automatycznie usunięty na końcu żądania, napisz do niego, a następnie po utworzeniu raportu wyślij jego zawartość za pomocą fread . Musisz użyć fread, ponieważ tmpfile zwraca zasób, w przeciwnym razie możesz użyć tempnam + file_get_contents ale w takim przypadku musisz otworzyć plik i wyczyścić go po samodzielnym przeczytaniu.