Basta usare fputcsv si occupa dell'escape e della produzione di dati csv corretti.
<?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);
?>
Uscita:
aaa,bbb,ccc,dddd
123,456,789
"""aaa""","""bbb"""
Modifica
Puoi sempre utilizzare una combinazione di tmpfile per aprire un file che verrà automaticamente cancellato alla fine della richiesta, scrivici sopra e poi dopo aver creato il rapporto emetti il suo contenuto con fread . Devi usare fread poiché tmpfile restituisce una risorsa, altrimenti puoi usare tempnam + file_get_contents ma in tal caso devi aprire il file e ripulirlo dopo averlo letto da solo.