Я хочу экспортировать данные массива в CSV-файл - PullRequest
0 голосов
/ 09 сентября 2018

Я хочу экспортировать данные массива в файл csv, я создал файл tset.csv и пытаюсь записать данные в файл, используя следующий код

Это мой массив:

Array ( 
    [0] => Array ( [pgm_name] => General services ) 
    [1] => Array ( [pgm_name] => Department of education ) 
)

Код:

$filename = 'test.csv'; 

header("Content-Description: File Transfer"); 
header("Content-Disposition: attachment; filename=$filename"); 
header("Content-Type: application/csv; ");
// header("Pragma: no-cache");
// header("Expires: 0");

$file = fopen(FCPATH.'/uploads/'.$filename, 'w');
fprintf($file, chr(0xEF).chr(0xBB).chr(0xBF));
$header = array("Program Name"); 
// fputcsv($file, $header);
foreach($printdata as $printdata) { 

   fputcsv($file,$printdata); 
}
fclose($file);

exit;

в CSV-файле я получаю ошибку, как это

Обнаружена ошибка PHP

Серьезность: Предупреждение

Сообщение: fputcsv () ожидает, что параметр 2 будет строкой массива, заданной

Имя файла: controllers / Frontdoor.php

Номер строки: 3516

"

Backtrace:

"

Ответы [ 2 ]

0 голосов
/ 09 сентября 2018

Используйте этот код. Надеюсь, это полезно для вас

$output = fopen("C:/xampp/htdocs/data.csv",'w') or die("Can't open C:/xampp/htdocs/data.csv");
header("Content-Type:application/csv"); 
header("Content-Disposition:attachment;filename=$filename"); 

fputcsv($output, array('pgm_name'));
foreach($printdata as $value) {
    fputcsv($output, $value);
}

fclose($output) or die("Can't close C:/xampp/htdocs/data.csv");
0 голосов
/ 09 сентября 2018

Пожалуйста, отметьте "foreach ($ printdata как $ printdata) {".

Вы должны использовать

foreach($printdata as $data) { 
   fputcsv($file,$data); 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...