如何避免csv文件保存在项目根文件夹中

时间:2017-08-26 07:13:16

标签: laravel-5 export-to-csv

我试图在浏览器上将记录导出为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);
}

由于

1 个答案:

答案 0 :(得分:0)

问题是Response :: download总是下载文件。为了在下载后删除文件,我们可以进行以下操作。

response()->download($filename,$filename, $headers)->deleteFileAfterSend(true);

->deleteFileAfterSend(true)。这部分代码将删除已下载的文件。

感谢。