Маленькая памятка для себя, когда мне нужно просто вывести массив в csv файл (в один столбец) и скачать его себе (язык PHP):
// когда нужен просто один столбец в файле
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
// имя файла $fileName = 'test.csv'; $file = fopen('php://memory', 'w'); // массив для вывода $products = array(1, 2, 3, 4, 8); // заголовок fputcsv($file, array('Title'), '|', '"'); foreach ($products as $product) { fputcsv($file, (array)$product, '|', '"'); } fseek($file, 0); header('Content-Type: application/csv'); header('Content-Disposition: attachement; filename="'.$fileName.'"'); fpassthru($file); die(); |
Когда столбцов уже больше
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
$fileName = 'test.csv'; $file = fopen('php://memory', 'w'); $names = array( 1 => array( 'firstName' => 'Ann', 'lastName' => 'Ivanova' ), 1 => array( 'firstName' => 'Ivan', 'lastName' => 'Sidorov' ), ); fputcsv($file, array('First name', 'Last name'), '|', '"'); foreach ($names as $id => $name) { fputcsv($file, $name, '|', '"'); } fseek($file, 0); header('Content-Type: application/csv'); header('Content-Disposition: attachement; filename="'.$fileName.'"'); fpassthru($file); die(); |