Случилось так, что потребовалось мне передавать результаты запроса в csv-файлы. Вроде ничего сложного, но столкнулся с этим я впервые и, как оказалось, информации в интернете много, но не вся подходит. Поэтому и решил написать эту заметку в блокнот.
Собственно пример:
$file = '/tmp/stats.csv';
$result = mysql_query("SELECT * FROM managers")
ob_start();
$csv = fopen($file, 'w');
while($row = mysql_fetch_assoc($result))
{
fputcsv($csv, $row, ';');
}
fclose($csv);
ob_get_clean();
Название папки и файла написано для примера.
Еще одно важное замечание… Для корректного отображения файла в него нужно писать в кодировке cp1251, иначе будут каракули, если БД отдает в другой кодировке (исключение — латинские символы).
26 февраля, 2013


