Просто използвайте fputcsv той се грижи за екранирането и генерирането на правилни 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);
?>
Изход:
aaa,bbb,ccc,dddd
123,456,789
"""aaa""","""bbb"""
Редактиране
Винаги можете да използвате комбинация от tmpfile за да отворите файл, който автоматично ще бъде изтрит в края на заявката, пишете в него и след това след създаването на отчета изведете съдържанието му с fread . Трябва да използвате fread, тъй като tmpfile връща ресурс, в противен случай можете да използвате tempnam + file_get_contents но в този случай трябва да отворите файла и да го почистите, след като го прочетете сами.