我试图在浏览器上将记录导出为csv文件并在下载文件夹中下载,但在检查实时目录时,它也会保存在项目根文件夹中。我不明白为什么。
以下是功能代码。
protected function downloadcsv($fieldValue,$fieldArray,$from,$end){
ob_clean();
$data = $fieldValue->toArray();
$filename = '';
if($from === '' || $end === ''){
$filename = "ExportOrders.csv";
}else{
$filename = "Orders-". $from ." to ". $end .'.csv';
}
$handle = fopen($filename, 'w+');
fputcsv($handle,$fieldArray );
foreach($data as $value) {
fputcsv($handle, $value);
}
fclose($handle);
$headers = array(
'Content-Type' => 'text/csv',
);
return Response::download($filename,$filename, $headers);
}
由于
答案 0 :(得分:0)
问题是Response :: download总是下载文件。为了在下载后删除文件,我们可以进行以下操作。
response()->download($filename,$filename, $headers)->deleteFileAfterSend(true);
->deleteFileAfterSend(true)
。这部分代码将删除已下载的文件。
感谢。