laravel convert csv file in controller to array code example
Example: convert array to csv laravel
public function outputCsv($fileName, $assocDataArray)
{
ob_clean();
header('Pragma: public');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Cache-Control: private', false);
header('Content-Type: text/csv');
header('Content-Disposition: attachment;filename=' . $fileName);
if(isset($assocDataArray['0'])){
$fp = fopen('php://output', 'w');
fputcsv($fp, array_keys($assocDataArray['0']));
foreach($assocDataArray AS $values){
fputcsv($fp, $values);
}
fclose($fp);
}
ob_flush();
}
$allData = Subscription::all();
$data = array();
foreach ($allData as $key => $value)
{
$fields = array( 'S.No' => $value->id, 'Email' => $value->email, 'Date' => date('Y-m-d',strtotime($value->created_at)));
$data[] = $fields;
}
$filename = date('Y-m-d H:i:s').' - subcription_data.csv';
outputCsv($filename, $data);