Я пишу файл csv, используя "fputcsv" в codeigniter. У меня есть две таблицы в виде массива, и они записываются в файл csv.

Теперь я хочу вставить несколько пустых строк в файл csv в качестве разделителя между двумя таблицами.

$this->load->helper('download');

$blanks = array("\t","\t","\t","\t");

$fp = fopen('php://output', 'w');
foreach ($writedata as $fields) { //table one
fputcsv($fp, $fields);
}

for($i=0;$i<5;$i++)
{
foreach ($blanks as $fields) { //blank space insertion try
fputcsv($fp, $fields);
}
}

foreach ($table2 as $fields) { //table two
fputcsv($fp, $fields);
}
$data = file_get_contents('php://output');
$name = 'data.csv';

Пробовал другую версию бланка и пытался вставить, но не получилось.

Язык - PHP Framework - Codeigniter

0
SaharshJ 25 Сен 2018 в 14:43

2 ответа

Лучший ответ

Это сработало. Прошу прощения за отступ. Благодаря этому я всегда могу настроить, как мне нужны пустые строки.

$this->load->helper('download');

$blanks = array();
for($i=0;$i<5;$i++)
    {
    array_push($blanks,array("\t","\t","\t","\t");
    }

$fp = fopen('php://output', 'w');
foreach ($writedata as $fields) {
   fputcsv($fp, $fields);
}

foreach ($blanks as $fields) {
    fputcsv($fp, $fields);
}

foreach ($table2 as $fields) {
    fputcsv($fp, $fields);
}
$data = file_get_contents('php://output');
$name = 'data.csv';
0
alfonsodev 25 Сен 2018 в 13:51

Попытайся:

<?php

$this->load->helper('download');

$fp = fopen('php://output', 'w');
foreach ($writedata as $fields) { //table one
    fputcsv($fp, $fields);
}

for($i=0;$i<5;$i++) {
    fput($fp, PHP_EOL);
}

foreach ($table2 as $fields) { //table two
    fputcsv($fp, $fields);
}
$data = file_get_contents('php://output');
$name = 'data.csv';

Или

$this->load->helper('download');

$blanks = array("\t","\t","\t","\t");

$fp = fopen('php://output', 'w');
foreach ($writedata as $fields) { //table one
    fputcsv($fp, $fields);
}

for($i=0;$i<5;$i++) {
    fputcsv($fp, $blanks);
}

foreach ($table2 as $fields) { //table two
    fputcsv($fp, $fields);
}
$data = file_get_contents('php://output');
$name = 'data.csv';
0
Ivan Dudarev 25 Сен 2018 в 11:58